Lines Matching refs:msginfo

120 struct msginfo msginfo = {
199 TUNABLE_INT_FETCH("kern.ipc.msgseg", &msginfo.msgseg);
200 TUNABLE_INT_FETCH("kern.ipc.msgssz", &msginfo.msgssz);
201 msginfo.msgmax = msginfo.msgseg * msginfo.msgssz;
202 TUNABLE_INT_FETCH("kern.ipc.msgmni", &msginfo.msgmni);
203 TUNABLE_INT_FETCH("kern.ipc.msgmnb", &msginfo.msgmnb);
204 TUNABLE_INT_FETCH("kern.ipc.msgtql", &msginfo.msgtql);
206 msgpool = malloc(msginfo.msgmax, M_MSG, M_WAITOK);
207 msgmaps = malloc(sizeof(struct msgmap) * msginfo.msgseg, M_MSG, M_WAITOK);
208 msghdrs = malloc(sizeof(struct msg) * msginfo.msgtql, M_MSG, M_WAITOK);
209 msqids = malloc(sizeof(struct msqid_kernel) * msginfo.msgmni, M_MSG,
213 * msginfo.msgssz should be a power of two for efficiency reasons.
214 * It is also pretty silly if msginfo.msgssz is less than 8
219 while (i < 1024 && i != msginfo.msgssz)
221 if (i != msginfo.msgssz) {
222 DPRINTF(("msginfo.msgssz=%d (0x%x)\n", msginfo.msgssz,
223 msginfo.msgssz));
224 panic("msginfo.msgssz not a small power of 2");
227 if (msginfo.msgseg > 32767) {
228 DPRINTF(("msginfo.msgseg=%d\n", msginfo.msgseg));
229 panic("msginfo.msgseg > 32767");
232 for (i = 0; i < msginfo.msgseg; i++) {
238 nfree_msgmaps = msginfo.msgseg;
240 for (i = 0; i < msginfo.msgtql; i++) {
251 for (i = 0; i < msginfo.msgmni; i++) {
286 for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
298 if (msqid != msginfo.msgmni)
302 for (i = 0; i < msginfo.msgtql; i++)
304 for (msqid = 0; msqid < msginfo.msgmni; msqid++)
354 if (msghdr->msg_spot < 0 || msghdr->msg_spot >= msginfo.msgseg)
361 if (msghdr->msg_ts >= msginfo.msgssz)
362 msghdr->msg_ts -= msginfo.msgssz;
417 if (msqix < 0 || msqix >= msginfo.msgmni) {
419 msginfo.msgmni));
514 if (msqbuf->msg_qbytes > msginfo.msgmnb) {
516 "(truncating)\n", msginfo.msgmnb));
517 msqbuf->msg_qbytes = msginfo.msgmnb; /* silently restrict qbytes to system limit */
578 for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
584 if (msqid < msginfo.msgmni) {
608 for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
620 if (msqid == msginfo.msgmni) {
650 msqkptr->u.msg_qbytes = msginfo.msgmnb;
704 if (msqix < 0 || msqix >= msginfo.msgmni) {
706 msginfo.msgmni));
753 segs_needed = (msgsz + msginfo.msgssz - 1) / msginfo.msgssz;
755 msginfo.msgssz, segs_needed));
892 if (next >= msginfo.msgseg)
922 if (msgsz > msginfo.msgssz)
923 tlen = msginfo.msgssz;
928 if (next >= msginfo.msgseg)
931 if ((error = copyin(msgp, &msgpool[next * msginfo.msgssz],
1069 if (msqix < 0 || msqix >= msginfo.msgmni) {
1071 msginfo.msgmni));
1267 for (len = 0; len < msgsz; len += msginfo.msgssz) {
1270 if (msgsz - len > msginfo.msgssz)
1271 tlen = msginfo.msgssz;
1276 if (next >= msginfo.msgseg)
1279 error = copyout(&msgpool[next * msginfo.msgssz], msgp, tlen);
1329 sizeof(struct msqid_kernel) * msginfo.msgmni));
1332 SYSCTL_INT(_kern_ipc, OID_AUTO, msgmax, CTLFLAG_RD, &msginfo.msgmax, 0,
1334 SYSCTL_INT(_kern_ipc, OID_AUTO, msgmni, CTLFLAG_RDTUN, &msginfo.msgmni, 0,
1336 SYSCTL_INT(_kern_ipc, OID_AUTO, msgmnb, CTLFLAG_RDTUN, &msginfo.msgmnb, 0,
1338 SYSCTL_INT(_kern_ipc, OID_AUTO, msgtql, CTLFLAG_RDTUN, &msginfo.msgtql, 0,
1340 SYSCTL_INT(_kern_ipc, OID_AUTO, msgssz, CTLFLAG_RDTUN, &msginfo.msgssz, 0,
1342 SYSCTL_INT(_kern_ipc, OID_AUTO, msgseg, CTLFLAG_RDTUN, &msginfo.msgseg, 0,