public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: RCU CPU stall Warnings with JTAG debugging
       [not found] <BN3PR14MB0803AB92BA71034E5903C027E7920@BN3PR14MB0803.namprd14.prod.outlook.com>
@ 2018-05-16 15:24 ` Paul E. McKenney
  0 siblings, 0 replies; only message in thread
From: Paul E. McKenney @ 2018-05-16 15:24 UTC (permalink / raw)
  To: Ehson Hussain; +Cc: linux-kernel

On Wed, May 16, 2018 at 01:45:45PM +0000, Ehson Hussain wrote:
> Hello Paul,
> 
> Hope you're doing great. I'm trying JTAG debugging on an aarch64 SoC (Xilinx Zynqmp zcu102 to be precise); when I halt the cores manually, or hit a breakpoint, I get a CPU stall warning on resuming after the RCU grace period expires.
> 
> If I resume quickly enough, I do not get the warning.
> 
> My question is, if all cores are stopped during debugging, how does RCU code detect/self-detect stalls on CPU? I have never observed this behavior in older kernels (3.14 and above), with arm cores e.g. armv7 based Freescale iMx6 boards.

My guess is that the jiffies clock is updated after resume to allow for
the time elapsed during the halt.  So the system resumes, the jiffies
counter gets a huge increment, and RCU complains about the massive
passage of time.

If you are doing JTAG debugging, I recommend shutting off RCU CPU stall
warnings, for example, using the rcupdate.rcu_cpu_stall_suppress kernel
boot parameter.

I suppose you could also tweak the clock code to pretend that no time
passes while halted, but that could be a very tricky task.

							Thanx, Paul

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-05-16 15:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <BN3PR14MB0803AB92BA71034E5903C027E7920@BN3PR14MB0803.namprd14.prod.outlook.com>
2018-05-16 15:24 ` RCU CPU stall Warnings with JTAG debugging Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox