Re: [RFC -mm 0/6] sysv ipc: scale msgmnb with the number of cpus
From: Nadia Derbey
Date: Wed Jun 25 2008 - 06:12:22 EST
Manfred Spraul wrote:
Solofo.Ramangalahy@xxxxxxxx wrote:
Humm... now this make me think that you did not change the MSGMNB
value when you changed MSGMNI and MSGMAX.
Maybe that was on purpose?
I was afraid that it might break user space applications that queue a
few kb of messages.
That's also the reason for
if (msgsz + msq->q_cbytes <= msq->q_qbytes &&
1 + msq->q_qnum <= msq->q_qbytes) {
break;
}
It's possible to send 0-byte messages even if the message queue is full
[except that you can't send more than MSGMNB messages].
Manfred,
If I'm not missign anything when reading the code, sending up to MSGMNB
0-bytes messages would make us enqueue MSGMNB msg_msg structures (this
is in the worst case where no receiver is waiting for those messages).
==> MSGMNB * 24 bytes (or 48 bytes in 64-bit mode))
==> 384 KB with current MSGMNB value (16K).
But 1,5 MB with a MSGMNB=64K
Even if it is a worst case, it should be considered and may be we should
refine the formula Solofo has proposed if you think this is not a
reasonable value.
May be add a dependency on the memory size?
Regards,
Nadia
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/