Skip to content
  • Paul E. McKenney's avatar
    sched/isolation: Make CONFIG_NO_HZ_FULL select CONFIG_CPU_ISOLATION · bf29cb23
    Paul E. McKenney authored
    
    
    CONFIG_NO_HZ_FULL doesn't make sense without CONFIG_CPU_ISOLATION. In
    fact enabling the first without the second is a regression as nohz_full=
    boot parameter gets silently ignored.
    
    Besides this unnatural combination hangs RCU gp kthread when running
    rcutorture for reasons that are not yet fully understood:
    
    	rcu_preempt kthread starved for 9974 jiffies! g4294967208
    	+c4294967207 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x402 ->cpu=0
    	rcu_preempt     I 7464     8      2 0x80000000
    	Call Trace:
    		__schedule+0x493/0x620
    		schedule+0x24/0x40
    		schedule_timeout+0x330/0x3b0
    		? preempt_count_sub+0xea/0x140
    		? collect_expired_timers+0xb0/0xb0
    		rcu_gp_kthread+0x6bf/0xef0
    
    This commit therefore makes NO_HZ_FULL select CPU_ISOLATION, which
    prevents all these bad behaviours.
    
    Reported-by: default avatarkernel test robot <xiaolong.ye@intel.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Wanpeng Li <kernellwp@gmail.com>
    Fixes: 5c4991e2 ("sched/isolation: Split out new CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL")
    Link: http://lkml.kernel.org/r/1513275507-29200-2-git-send-email-frederic@kernel.org
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    bf29cb23