Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 11 Feb 2003 23:46:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 11 Feb 2003 23:46:55 -0500 Received: from e34.co.us.ibm.com ([32.97.110.132]:34463 "EHLO e34.co.us.ibm.com") by vger.kernel.org with ESMTP id ; Tue, 11 Feb 2003 23:46:52 -0500 Date: Wed, 12 Feb 2003 10:42:05 +0530 From: Maneesh Soni To: Linus Torvalds Cc: linux-kernel@vger.kernel.org Subject: Re: [2.5.60] dcachebench sleeps Message-ID: <20030212104205.B1261@in.ibm.com> Reply-To: maneesh@in.ibm.com References: <20030211181807.A1261@in.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from torvalds@transmeta.com on Wed, Feb 12, 2003 at 12:48:05AM +0000 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2787 Lines: 83 On Wed, Feb 12, 2003 at 12:48:05AM +0000, Linus Torvalds wrote: > In article <20030211181807.A1261@in.ibm.com>, > Maneesh Soni wrote: > > > >With 2.5.60, dcachebench no more completes. All threads > >go to sleep as below. Last time I tested was with an intermediated BK diff > >(diff-bk-030204-2.5.59) and it was working fine. > > This should be fixed in the current BK tree. And for the non-BK-users, > here's the relevant changeset.. > > Linus Yes.. this fixes the dcachebench problem. Thanks, Maneesh > --- > # This is a BitKeeper generated patch for the following project: > # Project Name: Linux kernel tree > # This patch format is intended for GNU patch command version 2.5 or higher. > # This patch includes the following deltas: > # ChangeSet 1.997.1.20 -> 1.997.1.21 > # kernel/signal.c 1.67 -> 1.68 > # > # The following is the BitKeeper ChangeSet Log > # -------------------------------------------- > # 03/02/11 torvalds@home.transmeta.com 1.997.1.21 > # If we set TIF_SIGPENDING for SIGCONT, we have to wake up any sleeping > # tasks (even if we don't otherwise need to wake anything up), since > # otherwise later signals would see that signals are already pending and > # wouldn't cause wakeups. > # -------------------------------------------- > # > diff -Nru a/kernel/signal.c b/kernel/signal.c > --- a/kernel/signal.c Tue Feb 11 12:13:43 2003 > +++ b/kernel/signal.c Tue Feb 11 12:13:43 2003 > @@ -619,6 +619,7 @@ > rm_from_queue(SIG_KERNEL_STOP_MASK, &p->signal->shared_pending); > t = p; > do { > + unsigned int state; > rm_from_queue(SIG_KERNEL_STOP_MASK, &t->pending); > > /* > @@ -635,9 +636,12 @@ > * Wake up the stopped thread _after_ setting > * TIF_SIGPENDING > */ > - if (!sigismember(&t->blocked, SIGCONT)) > + state = TASK_STOPPED; > + if (!sigismember(&t->blocked, SIGCONT)) { > set_tsk_thread_flag(t, TIF_SIGPENDING); > - wake_up_state(t, TASK_STOPPED); > + state |= TASK_INTERRUPTIBLE; > + } > + wake_up_state(t, state); > > t = next_thread(t); > } while (t != p); > > - > 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/ > -- Maneesh Soni IBM Linux Technology Center, IBM India Software Lab, Bangalore. Phone: +91-80-5044999 email: maneesh@in.ibm.com http://lse.sourceforge.net/ - 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/