I found following code in msg.c
/* allocate message header and text space*/
msgh = (struct msg *) kmalloc (sizeof(*msgh) + msgsz,
GFP_ATOMIC);
~~~~~~~~~~
Should not this be (in_interrupt()?GFP_ATOMIC:GFP_KERNEL), or
(msgflg & IPC_KERNEL? ... )? I really do not think message queues
should eat valuable atomic memory.
Pavel
-- I'm really pavel@atrey.karlin.mff.cuni.cz. Pavel Look at http://atrey.karlin.mff.cuni.cz/~pavel/ ;-).