Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762946AbZJOTKc (ORCPT ); Thu, 15 Oct 2009 15:10:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1762931AbZJOTKb (ORCPT ); Thu, 15 Oct 2009 15:10:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57000 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762916AbZJOTKb (ORCPT ); Thu, 15 Oct 2009 15:10:31 -0400 Date: Thu, 15 Oct 2009 21:09:32 +0200 (CEST) From: John Kacur X-X-Sender: jkacur@localhost.localdomain To: Joerg.Abraham@alcatel-lucent.de, linux-kernel@vger.kernel.org cc: Thomas Gleixner , Ingo Molnar Subject: Re: 2.6.31.4-rt14 posix message queues problem In-Reply-To: <520f0cf10910151202k2ba01453r10e96eeb064232e8@mail.gmail.com> Message-ID: References: <4AD76126.1000408@alcatel-lucent.de> <520f0cf10910151202k2ba01453r10e96eeb064232e8@mail.gmail.com> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2351 Lines: 73 > From: Joerg Abraham > Date: Thu, Oct 15, 2009 at 7:51 PM > Subject: 2.6.31.4-rt14 posix message queues problem > To: LKML > > > Hi, > > During some performance measurement I stumbled over unexpected bad > results for a posix message queue test case. Which is not surprising > since the kernel log shows a "BUG: scheduling while atomic:" on every > measurement trigger. > > Attached is the kernel log for an embedded 8572ds powerpc system and a > condensed user space test appli. The test appli uses 2 processes > (mq_server and mq_client) and pingpongs some messages via posix > message queues. Please see the c-file header for details (the appli > itself makes not much sense but shows the problem). > > ./mq_server > ./mq_client # just crashes during run > > The problem does _not_ occur on kernels 2.6.29.6-rt24, 2.6.29.6 > vanilla and 2.6.31.4 vanilla. The problem does _also_ show up on an > embedded x86_64 system and a full featured fc11 x86_64 system running > a 2.6.31.4-rt14 based kernel, so I dont think it's arch dependent. > > Can anybody reproduce the crash ??? > > If you need more info's please let me know. > > [And if I'm doing stupid things just forgive me] > > Thanx > > Joerg Hello Joerg Does the following patch solve your problem? >From 69fde4357db4a054733cbca4158606160e821a3a Mon Sep 17 00:00:00 2001 From: John Kacur Date: Thu, 15 Oct 2009 20:52:37 +0200 Subject: [PATCH] preempt_disable_rt(); should be paired with preempt_enable_rt() Signed-off-by: John Kacur --- ipc/mqueue.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 63a47f7..ab4df36 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -830,7 +830,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, wake_up_process(receiver->task); smp_wmb(); receiver->state = STATE_READY; - preempt_enable_nort(); + preempt_enable_rt(); } /* pipelined_receive() - if there is task waiting in sys_mq_timedsend() -- 1.6.0.6 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/