Home | History | Annotate | Download | only in kern

Lines Matching refs:msginfo

103 	 * msginfo.msgssz should be a power of two for efficiency reasons.
104 * It is also pretty silly if msginfo.msgssz is less than 8
109 while (i < 1024 && i != msginfo.msgssz)
111 if (i != msginfo.msgssz) {
112 printf("msginfo.msgssz = %d, not a small power of 2",
113 msginfo.msgssz);
117 if (msginfo.msgseg > 32767) {
118 printf("msginfo.msgseg = %d > 32767", msginfo.msgseg);
123 sz = ALIGN(msginfo.msgmax) +
124 ALIGN(msginfo.msgseg * sizeof(struct msgmap)) +
125 ALIGN(msginfo.msgtql * sizeof(struct __msg)) +
126 ALIGN(msginfo.msgmni * sizeof(kmsq_t));
134 msgmaps = (void *)((uintptr_t)msgpool + ALIGN(msginfo.msgmax));
136 ALIGN(msginfo.msgseg * sizeof(struct msgmap)));
138 ALIGN(msginfo.msgtql * sizeof(struct __msg)));
140 for (i = 0; i < (msginfo.msgseg - 1); i++)
142 msgmaps[msginfo.msgseg - 1].next = -1;
145 nfree_msgmaps = msginfo.msgseg;
147 for (i = 0; i < (msginfo.msgtql - 1); i++) {
151 i = msginfo.msgtql - 1;
156 for (i = 0; i < msginfo.msgmni; i++) {
180 for (i = 0; i < msginfo.msgmni; i++) {
189 for (i = 0; i < msginfo.msgmni; i++) {
192 sz = ALIGN(msginfo.msgmax) +
193 ALIGN(msginfo.msgseg * sizeof(struct msgmap)) +
194 ALIGN(msginfo.msgtql * sizeof(struct __msg)) +
195 ALIGN(msginfo.msgmni * sizeof(kmsq_t));
223 newmsgmax = msginfo.msgssz * newmsgseg;
226 ALIGN(msginfo.msgtql * sizeof(struct __msg)) +
245 for (i = 0; i < msginfo.msgmni; i++)
254 for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
263 if (i >= newmsgmni || (msginfo.msgseg - nfree_msgmaps) > newmsgseg) {
274 ALIGN(msginfo.msgtql * sizeof(struct __msg)));
283 for (i = 0; i < (msginfo.msgtql - 1); i++) {
287 i = msginfo.msgtql - 1;
302 for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
345 segcnt = (msgsz + msginfo.msgssz - 1) / msginfo.msgssz;
362 if (msgsz >= msginfo.msgssz) {
363 tlen = msginfo.msgssz;
364 msgsz -= msginfo.msgssz;
371 memcpy(&new_msgpool[nnext * msginfo.msgssz],
372 &msgpool[next * msginfo.msgssz], tlen);
384 KASSERT((msginfo.msgseg - nfree_msgmaps) ==
387 sz = ALIGN(msginfo.msgmax) +
388 ALIGN(msginfo.msgseg * sizeof(struct msgmap)) +
389 ALIGN(msginfo.msgtql * sizeof(struct __msg)) +
390 ALIGN(msginfo.msgmni * sizeof(kmsq_t));
393 for (i = 0; i < msginfo.msgmni; i++)
405 msginfo.msgmni = newmsgmni;
406 msginfo.msgseg = newmsgseg;
407 msginfo.msgmax = newmsgmax;
427 KASSERT(msghdr->msg_spot < msginfo.msgseg);
434 if (msghdr->msg_ts >= msginfo.msgssz)
435 msghdr->msg_ts -= msginfo.msgssz;
487 if (ix < 0 || ix >= msginfo.msgmni) {
489 msginfo.msgmni));
546 if (msqbuf->msg_qbytes > msginfo.msgmnb) {
548 "(truncating)\n", msginfo.msgmnb));
550 msqbuf->msg_qbytes = msginfo.msgmnb;
612 msginfo.msgmni; msqid++) {
619 if (msqid < msginfo.msgmni) {
638 for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
651 if (msqid == msginfo.msgmni) {
669 msqptr->msg_qbytes = msginfo.msgmnb;
729 if (msqid < 0 || msqid >= msginfo.msgmni) {
731 msginfo.msgmni));
755 segs_needed = (msgsz + msginfo.msgssz - 1) / msginfo.msgssz;
757 (long long)msgsz, msginfo.msgssz, segs_needed));
885 KASSERT(free_msgmaps < msginfo.msgseg);
932 KASSERT(next < msginfo.msgseg);
934 if (msgsz > msginfo.msgssz)
935 tlen = msginfo.msgssz;
939 error = copyin(user_msgp, &msgpool[next * msginfo.msgssz], tlen);
1039 if (msqid < 0 || msqid >= msginfo.msgmni) {
1041 msginfo.msgmni));
1230 for (len = 0; len < msgsz; len += msginfo.msgssz) {
1233 KASSERT(next < msginfo.msgseg);
1235 if (msgsz - len > msginfo.msgssz)
1236 tlen = msginfo.msgssz;
1240 error = copyout(&msgpool[next * msginfo.msgssz],
1279 newsize = msginfo.msgmni;
1285 error = msgrealloc(newsize, msginfo.msgseg);
1298 newsize = msginfo.msgseg;
1304 error = msgrealloc(msginfo.msgmni, newsize);
1327 sysctl_ipc_msgmni, 0, &msginfo.msgmni, 0,
1333 sysctl_ipc_msgseg, 0, &msginfo.msgseg, 0,