Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751901AbaDAWQ1 (ORCPT ); Tue, 1 Apr 2014 18:16:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:17695 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751435AbaDAWQ0 (ORCPT ); Tue, 1 Apr 2014 18:16:26 -0400 Date: Tue, 1 Apr 2014 18:16:16 -0400 From: Dave Jones To: "Paul E. McKenney" Cc: Linux Kernel Subject: Re: rcu_prempt stalls / lockup Message-ID: <20140401221616.GA961@redhat.com> Mail-Followup-To: Dave Jones , "Paul E. McKenney" , Linux Kernel References: <20140331230241.GA30019@redhat.com> <20140331232220.GP4284@linux.vnet.ibm.com> <20140331233552.GB30019@redhat.com> <20140401004801.GQ4284@linux.vnet.ibm.com> <20140401150849.GA14757@redhat.com> <20140401153032.GT4284@linux.vnet.ibm.com> <20140401172244.GA10363@redhat.com> <20140401175545.GV4284@linux.vnet.ibm.com> <20140401180414.GA12326@redhat.com> <20140401183245.GA12473@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140401183245.GA12473@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 01, 2014 at 11:32:45AM -0700, Paul E. McKenney wrote: > > > Given that you have CONFIG_RCU_TRACE=y, could you please enable the > > > following trace events and dump the trace before things hang? > > > > > > trace_event=rcu:rcu_grace_period,rcu:rcu_grace_period_init > > > > > > If it is not feasible to dump the trace before things hang, let me > > > know, and I will work out some other diagnostic regime. > > > > I'll give that a shot when I get back in a few hours. ok, this is tricky, and I'm not sure how helpful the below is. because I don't know when the hang is going to happen, in parallel to my usual workload I did this.. while [ 1 ]; do cat trace echo > trace done and got this... # entries-in-buffer/entries-written: 7/7 #P:4 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | -0 [000] dNs3 851.748475: rcu_grace_period: rcu_preempt 21342 cpuend -0 [000] dNs3 851.748477: rcu_grace_period: rcu_preempt 21343 cpustart -0 [000] dNs3 851.748477: rcu_grace_period: rcu_sched 20080 cpuend -0 [000] dN.2 851.748480: rcu_grace_period: rcu_preempt 21343 cpuqs rcu_preempt-9 [000] ...1 851.748485: rcu_grace_period: rcu_preempt 21343 fqsstart rcu_preempt-9 [000] ...1 851.748487: rcu_grace_period: rcu_preempt 21343 fqsend rcu_preempt-9 [000] ...1 851.748487: rcu_grace_period: rcu_preempt 21343 fqswait # tracer: nop # # entries-in-buffer/entries-written: 13/13 #P:4 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | rcu_preempt-9 [003] d..2 851.878457: rcu_grace_period: rcu_preempt 21349 end rcu_preempt-9 [003] d..2 851.878459: rcu_grace_period: rcu_preempt 21349 newreq rcu_preempt-9 [003] ...1 851.878459: rcu_grace_period: rcu_preempt 21349 reqwait rcu_preempt-9 [003] d..2 851.878460: rcu_grace_period: rcu_preempt 21350 start rcu_preempt-9 [003] d..2 851.878461: rcu_grace_period: rcu_preempt 21350 cpustart rcu_preempt-9 [003] d..2 851.878462: rcu_grace_period_init: rcu_preempt 21350 0 0 7 f rcu_preempt-9 [003] ...1 851.878463: rcu_grace_period: rcu_preempt 21350 fqswait rcu_preempt-9 [003] d..2 851.878464: rcu_grace_period: rcu_preempt 21350 cpuqs -0 [000] dNs3 851.878482: rcu_grace_period: rcu_preempt 21349 cpuend -0 [000] dNs3 851.878483: rcu_grace_period: rcu_preempt 21350 cpustart -0 [000] dNs3 851.878484: rcu_grace_period: rcu_sched 20086 cpuend -0 [000] .N.2 851.878486: rcu_grace_period: rcu_sched 20086 cpuqs -0 [000] dN.2 851.878487: rcu_grace_period: rcu_preempt 21350 cpuqs followed by a half dozen 'empty' traces before it totally locked up. Dave -- 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/