All of lore.kernel.org
 help / color / mirror / Atom feed
* rcu_preempt detected stalls.
@ 2014-10-13 17:35 Dave Jones
  2014-10-15  2:35 ` Sasha Levin
                   ` (2 more replies)
  0 siblings, 3 replies; 46+ messages in thread
From: Dave Jones @ 2014-10-13 17:35 UTC (permalink / raw)
  To: Linux Kernel; +Cc: paulmck, htejun

Today in "rcu stall while fuzzing" news:

INFO: rcu_preempt detected stalls on CPUs/tasks:
	Tasks blocked on level-0 rcu_node (CPUs 0-3): P766 P646
	Tasks blocked on level-0 rcu_node (CPUs 0-3): P766 P646
	(detected by 0, t=6502 jiffies, g=75434, c=75433, q=0)
trinity-c342    R  running task    13384   766  32295 0x00000000
 ffff880068943d58 0000000000000002 0000000000000002 ffff880193c8c680
 00000000001d4100 0000000000000000 ffff880068943fd8 00000000001d4100
 ffff88024302c680 ffff880193c8c680 ffff880068943fd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff880d9424>] ? lock_acquire+0xd4/0x2b0
 [<ffffffff8808d495>] ? kill_pid_info+0x5/0x130
 [<ffffffff8808d4d5>] kill_pid_info+0x45/0x130
 [<ffffffff8808d495>] ? kill_pid_info+0x5/0x130
 [<ffffffff8808d6d2>] SYSC_kill+0xf2/0x2f0
 [<ffffffff8808d67b>] ? SYSC_kill+0x9b/0x2f0
 [<ffffffff8819c2b7>] ? context_tracking_user_exit+0x57/0x280
 [<ffffffff880136bd>] ? syscall_trace_enter+0x13d/0x310
 [<ffffffff8808fd9e>] SyS_kill+0xe/0x10
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
trinity-c225    R  running task    13448   646  32295 0x00000000
 ffff880161ccfb28 0000000000000002 ffff880161ccfe10 ffff88000bf85e00
 00000000001d4100 0000000000000003 ffff880161ccffd8 00000000001d4100
 ffff880030124680 ffff88000bf85e00 ffff880161ccffd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff88233d41>] ? __d_lookup_rcu+0xd1/0x1e0
 [<ffffffff88233dd6>] ? __d_lookup_rcu+0x166/0x1e0
 [<ffffffff88222f9f>] lookup_fast+0x4f/0x3d0
 [<ffffffff88224857>] link_path_walk+0x1a7/0x8a0
 [<ffffffff88224f95>] ? path_lookupat+0x45/0x7b0
 [<ffffffff88224fb7>] path_lookupat+0x67/0x7b0
 [<ffffffff880d385d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff8883dda4>] ? retint_restore_args+0xe/0xe
 [<ffffffff8822572b>] filename_lookup+0x2b/0xc0
 [<ffffffff88229c77>] user_path_at_empty+0x67/0xc0
 [<ffffffff880d3dbe>] ? put_lock_stats.isra.27+0xe/0x30
 [<ffffffff880d42a6>] ? lock_release_holdtime.part.28+0xe6/0x160
 [<ffffffff880b15ad>] ? get_parent_ip+0xd/0x50
 [<ffffffff88229ce1>] user_path_at+0x11/0x20
 [<ffffffff8824fac1>] do_utimes+0xd1/0x180
 [<ffffffff8824fbef>] SyS_utime+0x7f/0xc0
 [<ffffffff8883d345>] ? tracesys+0x7e/0xe2
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
trinity-c342    R  running task    13384   766  32295 0x00000000
 ffff880068943d58 0000000000000002 0000000000000002 ffff880193c8c680
 00000000001d4100 0000000000000000 ffff880068943fd8 00000000001d4100
 ffff88024302c680 ffff880193c8c680 ffff880068943fd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff880d9424>] ? lock_acquire+0xd4/0x2b0
 [<ffffffff8808d495>] ? kill_pid_info+0x5/0x130
 [<ffffffff8808d4d5>] kill_pid_info+0x45/0x130
 [<ffffffff8808d495>] ? kill_pid_info+0x5/0x130
 [<ffffffff8808d6d2>] SYSC_kill+0xf2/0x2f0
 [<ffffffff8808d67b>] ? SYSC_kill+0x9b/0x2f0
 [<ffffffff8819c2b7>] ? context_tracking_user_exit+0x57/0x280
 [<ffffffff880136bd>] ? syscall_trace_enter+0x13d/0x310
 [<ffffffff8808fd9e>] SyS_kill+0xe/0x10
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
trinity-c225    R  running task    13448   646  32295 0x00000000
 ffff880161ccfb28 0000000000000002 ffff880161ccfe10 ffff88000bf85e00
 00000000001d4100 0000000000000003 ffff880161ccffd8 00000000001d4100
 ffff880030124680 ffff88000bf85e00 ffff880161ccffd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff88233d41>] ? __d_lookup_rcu+0xd1/0x1e0
 [<ffffffff88233dd6>] ? __d_lookup_rcu+0x166/0x1e0
 [<ffffffff88222f9f>] lookup_fast+0x4f/0x3d0
 [<ffffffff88224857>] link_path_walk+0x1a7/0x8a0
 [<ffffffff88224f95>] ? path_lookupat+0x45/0x7b0
 [<ffffffff88224fb7>] path_lookupat+0x67/0x7b0
 [<ffffffff880d385d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff8883dda4>] ? retint_restore_args+0xe/0xe
 [<ffffffff8822572b>] filename_lookup+0x2b/0xc0
 [<ffffffff88229c77>] user_path_at_empty+0x67/0xc0
 [<ffffffff880d3dbe>] ? put_lock_stats.isra.27+0xe/0x30
 [<ffffffff880d42a6>] ? lock_release_holdtime.part.28+0xe6/0x160
 [<ffffffff880b15ad>] ? get_parent_ip+0xd/0x50
 [<ffffffff88229ce1>] user_path_at+0x11/0x20
 [<ffffffff8824fac1>] do_utimes+0xd1/0x180
 [<ffffffff8824fbef>] SyS_utime+0x7f/0xc0
 [<ffffffff8883d345>] ? tracesys+0x7e/0xe2
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
INFO: rcu_preempt detected stalls on CPUs/tasks:
	Tasks blocked on level-0 rcu_node (CPUs 0-3): P766 P646
	Tasks blocked on level-0 rcu_node (CPUs 0-3): P766 P646
	(detected by 3, t=26007 jiffies, g=75434, c=75433, q=0)
trinity-c342    R  running task    13384   766  32295 0x00000000
 ffff880068943d98 0000000000000002 0000000000000000 ffff880193c8c680
 00000000001d4100 0000000000000000 ffff880068943fd8 00000000001d4100
 ffff88000188af00 ffff880193c8c680 ffff880068943fd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff8809f767>] ? pid_task+0x47/0xa0
 [<ffffffff8809f73d>] ? pid_task+0x1d/0xa0
 [<ffffffff8808d4f1>] kill_pid_info+0x61/0x130
 [<ffffffff8808d495>] ? kill_pid_info+0x5/0x130
 [<ffffffff8808d6d2>] SYSC_kill+0xf2/0x2f0
 [<ffffffff8808d67b>] ? SYSC_kill+0x9b/0x2f0
 [<ffffffff8819c2b7>] ? context_tracking_user_exit+0x57/0x280
 [<ffffffff880136bd>] ? syscall_trace_enter+0x13d/0x310
 [<ffffffff8808fd9e>] SyS_kill+0xe/0x10
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
trinity-c225    R  running task    13448   646  32295 0x00000000
 ffff880161ccfb78 0000000000000002 ffffffff88c993ed ffff88000bf85e00
 00000000001d4100 0000000000000003 ffff880161ccffd8 00000000001d4100
 ffff88005ea89780 ffff88000bf85e00 ffff880161ccffd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff8822303a>] ? lookup_fast+0xea/0x3d0
 [<ffffffff88223025>] ? lookup_fast+0xd5/0x3d0
 [<ffffffff88224857>] link_path_walk+0x1a7/0x8a0
 [<ffffffff88224f95>] ? path_lookupat+0x45/0x7b0
 [<ffffffff88224fb7>] path_lookupat+0x67/0x7b0
 [<ffffffff880d385d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff8883dda4>] ? retint_restore_args+0xe/0xe
 [<ffffffff8822572b>] filename_lookup+0x2b/0xc0
 [<ffffffff88229c77>] user_path_at_empty+0x67/0xc0
 [<ffffffff880d3dbe>] ? put_lock_stats.isra.27+0xe/0x30
 [<ffffffff880d42a6>] ? lock_release_holdtime.part.28+0xe6/0x160
 [<ffffffff880b15ad>] ? get_parent_ip+0xd/0x50
 [<ffffffff88229ce1>] user_path_at+0x11/0x20
 [<ffffffff8824fac1>] do_utimes+0xd1/0x180
 [<ffffffff8824fbef>] SyS_utime+0x7f/0xc0
 [<ffffffff8883d345>] ? tracesys+0x7e/0xe2
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
trinity-c342    R  running task    13384   766  32295 0x00000000
 ffff880068943d98 0000000000000002 0000000000000000 ffff880193c8c680
 00000000001d4100 0000000000000000 ffff880068943fd8 00000000001d4100
 ffff88000188af00 ffff880193c8c680 ffff880068943fd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff8809f767>] ? pid_task+0x47/0xa0
 [<ffffffff8809f73d>] ? pid_task+0x1d/0xa0
 [<ffffffff8808d4f1>] kill_pid_info+0x61/0x130
 [<ffffffff8808d495>] ? kill_pid_info+0x5/0x130
 [<ffffffff8808d6d2>] SYSC_kill+0xf2/0x2f0
 [<ffffffff8808d67b>] ? SYSC_kill+0x9b/0x2f0
 [<ffffffff8819c2b7>] ? context_tracking_user_exit+0x57/0x280
 [<ffffffff880136bd>] ? syscall_trace_enter+0x13d/0x310
 [<ffffffff8808fd9e>] SyS_kill+0xe/0x10
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2
trinity-c225    R  running task    13448   646  32295 0x00000000
 ffff880161ccfb78 0000000000000002 ffffffff88c993ed ffff88000bf85e00
 00000000001d4100 0000000000000003 ffff880161ccffd8 00000000001d4100
 ffff88005ea89780 ffff88000bf85e00 ffff880161ccffd8 0000000000000000
Call Trace:
 [<ffffffff888368e2>] preempt_schedule_irq+0x52/0xb0
 [<ffffffff8883df10>] retint_kernel+0x20/0x30
 [<ffffffff8822303a>] ? lookup_fast+0xea/0x3d0
 [<ffffffff88223025>] ? lookup_fast+0xd5/0x3d0
 [<ffffffff88224857>] link_path_walk+0x1a7/0x8a0
 [<ffffffff88224f95>] ? path_lookupat+0x45/0x7b0
 [<ffffffff88224fb7>] path_lookupat+0x67/0x7b0
 [<ffffffff880d385d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff8883dda4>] ? retint_restore_args+0xe/0xe
 [<ffffffff8822572b>] filename_lookup+0x2b/0xc0
 [<ffffffff88229c77>] user_path_at_empty+0x67/0xc0
 [<ffffffff880d3dbe>] ? put_lock_stats.isra.27+0xe/0x30
 [<ffffffff880d42a6>] ? lock_release_holdtime.part.28+0xe6/0x160
 [<ffffffff880b15ad>] ? get_parent_ip+0xd/0x50
 [<ffffffff88229ce1>] user_path_at+0x11/0x20
 [<ffffffff8824fac1>] do_utimes+0xd1/0x180
 [<ffffffff8824fbef>] SyS_utime+0x7f/0xc0
 [<ffffffff8883d345>] ? tracesys+0x7e/0xe2
 [<ffffffff8883d3a4>] tracesys+0xdd/0xe2

This is on Linus' current tree, with the new CONFIG_TASKS_RCU unset.

	Dave


^ permalink raw reply	[flat|nested] 46+ messages in thread
* rcu_preempt detected stalls
@ 2021-08-31 15:21 ` Jorge Ramirez-Ortiz, Foundries
  0 siblings, 0 replies; 46+ messages in thread
From: Jorge Ramirez-Ortiz, Foundries @ 2021-08-31 15:21 UTC (permalink / raw)
  To: paulmck
  Cc: josh, rostedt, mathieu.desnoyers, jiangshanlai, joel, rcu, soc,
	linux-arm-kernel

Hi

When enabling CONFIG_PREEMPT and running the stress-ng scheduler class
tests on arm64 (xilinx zynqmp and imx imx8mm SoCs) we are observing the following.

[   62.578917] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:                                                              
[   62.585015]  (detected by 0, t=5253 jiffies, g=3017, q=2972)                                                                   
[   62.590663] rcu: All QSes seen, last rcu_preempt kthread activity 5254 (4294907943-4294902689), jiffies_till_next_fqs=1, root  
+->qsmask 0x0                                                                                                                     
[   62.603086] rcu: rcu_preempt kthread starved for 5258 jiffies! g3017 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1               
[   62.613246] rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.                        
[   62.622359] rcu: RCU grace-period kthread stack dump:                                                                          
[   62.627395] task:rcu_preempt     state:R  running task     stack:    0 pid:   14 ppid:     2 flags:0x00000028                  
[   62.637308] Call trace:                                                                                                        
[   62.639748]  __switch_to+0x11c/0x190                                                                                           
[   62.643319]  __schedule+0x3b8/0x8d8                                                                                            
[   62.646796]  schedule+0x4c/0x108                                                                                               
[   62.650018]  schedule_timeout+0x1ac/0x358                                                                                      
[   62.654021]  rcu_gp_kthread+0x6a8/0x12b8                                                                                       
[   62.657933]  kthread+0x14c/0x158                                                                                               
[   62.661153]  ret_from_fork+0x10/0x18                                                                                           
[   62.682919] BUG: scheduling while atomic: stress-ng-hrtim/831/0x00000002                                                       
[   62.689604] Preemption disabled at:                                                                                            
[   62.689614] [<ffffffc010059418>] irq_enter_rcu+0x30/0x58                                                                       
[   62.698393] CPU: 0 PID: 831 Comm: stress-ng-hrtim Not tainted 5.10.42+ #5                                         
[   62.706296] Hardware name: Zynqmp new (DT)                                                                                        
[   62.710115] Call trace:                                                                                                        
[   62.712548]  dump_backtrace+0x0/0x240                                                                                          
[   62.716202]  show_stack+0x2c/0x38                                                                                              
[   62.719510]  dump_stack+0xcc/0x104                                                                                             
[   62.722904]  __schedule_bug+0x78/0xc8                                                                                          
[   62.726556]  __schedule+0x70c/0x8d8                                                                                            
[   62.730037]  schedule+0x4c/0x108                                                                                               
[   62.733259]  do_notify_resume+0x224/0x5d8                                                                                      
[   62.737259]  work_pending+0xc/0x2a4

The error results in OOM eventually.

RCU priority boosting does work around this issue but it seems to me
a workaround more than a fix (otherwise boosting would be enabled
by CONFIG_PREEMPT for arm64 I guess?).

The question is: is this an arm64 bug that should be investigated? or
is this some known corner case of running stress-ng that is already
understood?

thanks
Jorge




^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2021-09-01  9:49 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-13 17:35 rcu_preempt detected stalls Dave Jones
2014-10-15  2:35 ` Sasha Levin
2014-10-23 18:39   ` Paul E. McKenney
2014-10-23 18:55     ` Sasha Levin
2014-10-23 19:58       ` Paul E. McKenney
2014-10-24 12:28         ` Sasha Levin
2014-10-24 16:13           ` Paul E. McKenney
2014-10-24 16:39             ` Sasha Levin
2014-10-27 21:13               ` Paul E. McKenney
2014-10-27 23:44                 ` Paul E. McKenney
2014-10-27 23:44                   ` Paul E. McKenney
2014-11-13 23:07                   ` Paul E. McKenney
2014-11-13 23:07                     ` Paul E. McKenney
2014-11-13 23:10                     ` Sasha Levin
2014-11-13 23:10                       ` Sasha Levin
2014-10-30 23:41                 ` Sasha Levin
2014-10-23 18:32 ` Paul E. McKenney
2014-10-23 18:40   ` Dave Jones
2014-10-23 19:28     ` Paul E. McKenney
2014-10-23 19:37       ` Dave Jones
2014-10-23 19:52         ` Paul E. McKenney
2014-10-23 20:28           ` Dave Jones
2014-10-23 20:44             ` Paul E. McKenney
2014-10-23 19:13   ` Oleg Nesterov
2014-10-23 19:38     ` Paul E. McKenney
2014-10-23 19:53       ` Oleg Nesterov
2014-10-23 20:24         ` Paul E. McKenney
2014-10-23 21:13           ` Oleg Nesterov
2014-10-23 21:38             ` Paul E. McKenney
2014-10-25  3:16 ` Dâniel Fraga
2021-08-31 15:21 Jorge Ramirez-Ortiz, Foundries
2021-08-31 15:21 ` Jorge Ramirez-Ortiz, Foundries
2021-08-31 15:53 ` Paul E. McKenney
2021-08-31 15:53   ` Paul E. McKenney
2021-08-31 17:01 ` Zhouyi Zhou
2021-08-31 17:01   ` Zhouyi Zhou
2021-08-31 17:01     ` Zhouyi Zhou
2021-08-31 17:11     ` Zhouyi Zhou
2021-08-31 17:11       ` Zhouyi Zhou
2021-08-31 17:11         ` Zhouyi Zhou
2021-09-01  1:03         ` Zhouyi Zhou
2021-09-01  1:03           ` Zhouyi Zhou
2021-09-01  1:03             ` Zhouyi Zhou
2021-09-01  4:08             ` Neeraj Upadhyay
2021-09-01  6:47               ` Zhouyi Zhou
2021-09-01  6:47                 ` Zhouyi Zhou
2021-09-01  6:47                   ` Zhouyi Zhou
2021-09-01  8:23             ` Jorge Ramirez-Ortiz, Foundries
2021-09-01  8:23               ` Jorge Ramirez-Ortiz, Foundries
2021-09-01  9:17               ` Zhouyi Zhou
2021-09-01  9:17                 ` Zhouyi Zhou
2021-09-01  9:17                   ` Zhouyi Zhou

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.