From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753356Ab1FNMky (ORCPT ); Tue, 14 Jun 2011 08:40:54 -0400 Received: from e2.ny.us.ibm.com ([32.97.182.142]:38648 "EHLO e2.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752297Ab1FNMkw (ORCPT ); Tue, 14 Jun 2011 08:40:52 -0400 Date: Tue, 14 Jun 2011 05:40:48 -0700 From: "Paul E. McKenney" To: Daniel J Blueman Cc: Peter Zijlstra , Linux Kernel Subject: Re: [3.0-rc3] tree RCU boost vs hang notifier... Message-ID: <20110614124048.GB2264@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20110614045150.GA2264@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 14, 2011 at 01:46:04PM +0800, Daniel J Blueman wrote: > On 14 June 2011 12:51, Paul E. McKenney wrote: > > On Tue, Jun 14, 2011 at 12:02:24PM +0800, Daniel J Blueman wrote: > >> With 3.0-rc3 configured with CONFIG_TREE_PREEMPT_RCU, CONFIG_RCU_BOOST > >> and CONFIG_DETECT_HUNG_TASK, we see frequent task hung reports [1], > >> possibly as the tree RCU boost kthreads sleep uninterruptably. > >> > >> It looks like tinyRCU sleeps interruptably, so won't trigger the hangcheck. > >> > >> Thanks, > >>   Daniel > >> > >> --- [1] > >> > >> INFO: task rcub0:9 blocked for more than 120 seconds. > >> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > >> rcub0           D ffffffff81c29c80  6768     9      2 0x00000000 > >>  ffff880221713ea0 0000000000000046 ffff880221713db0 ffffffff8171b825 > >>  ffff880221712000 0000000000004000 ffff8802214d0000 ffff88022170c060 > >>  ffff88022ec00000 0000000000010ac0 0000000000000001 ffff88022ec10ac0 > >> Call Trace: > >>  [] ? _raw_spin_unlock_irqrestore+0x75/0x80 > >>  [] ? preempt_schedule+0x3a/0x50 > >>  [] ? _raw_spin_unlock_irqrestore+0x75/0x80 > >>  [] ? rcu_boost+0x120/0x120 > >>  [] kthread+0x93/0xc0 > >>  [] ? trace_hardirqs_on_caller+0x13d/0x180 > >>  [] kernel_thread_helper+0x4/0x10 > >>  [] ? finish_task_switch+0x77/0x100 > >>  [] ? retint_restore_args+0xe/0xe > >>  [] ? __init_kthread_worker+0x70/0x70 > >>  [] ? gs_change+0xb/0xb > >> no locks held by rcub0/9. > > > > Hello, Daniel, > > > > Does the following patch help? > > > >                                                        Thanx, Paul > > > > ------------------------------------------------------------------------ > > > > rcu: Simplify curing of load woes > > > > Make the functions creating the kthreads wake them up.  Leverage the > > fact that the per-node and boost kthreads can run anywhere, thus > > dispensing with the need to wake them up once the incoming CPU has > > gone fully online. > > > > Signed-off-by: Paul E. McKenney > > > [] > > Superb - this addresses the hangcheck warnings. > > Tested-by: Daniel J Blueman Thank you very much for testing this! Thanx, Paul