1. 23 Feb, 2018 2 commits
  2. 21 Feb, 2018 34 commits
  3. 15 Feb, 2018 2 commits
    • Paul E. McKenney's avatar
      sched/isolation: Eliminate NO_HZ_FULL_ALL · a7c8655b
      Paul E. McKenney authored
      Commit 6f1982fe ("sched/isolation: Handle the nohz_full= parameter")
      broke CONFIG_NO_HZ_FULL_ALL=y kernels.  This breakage is due to the code
      under CONFIG_NO_HZ_FULL_ALL failing to invoke the shiny new housekeeping
      functions.  This means that rcutorture scenario TREE04 now emits RCU CPU
      stall warnings due to the RCU grace-period kthreads not being awakened
      at a time of their choosing, or perhaps even not at all:
      
      [   27.731422] rcu_bh kthread starved for 21001 jiffies! g18446744073709551369 c18446744073709551368 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x402 ->cpu=3
      [   27.731423] rcu_bh          I14936     9      2 0x80080000
      [   27.731435] Call Trace:
      [   27.731440]  __schedule+0x31a/0x6d0
      [   27.731442]  schedule+0x31/0x80
      [   27.731446]  schedule_timeout+0x15a/0x320
      [   27.731453]  ? call_timer_fn+0x130/0x130
      [   27.731457]  rcu_gp_kthread+0x66c/0xea0
      [   27.731458]  ? rcu_gp_kthread+0x66c/0xea0
      
      Because no one has complained about CONFIG_NO_HZ_FULL_ALL=y being broken,
      I hypothesize that no one is in fact using it, other than rcutorture.
      This commit therefore eliminates CONFIG_NO_HZ_FULL_ALL and updates
      rcutorture's config files to instead use the nohz_full= kernel parameter
      to put the desired CPUs into nohz_full mode.
      
      Fixes: 6f1982fe ("sched/isolation: Handle the nohz_full= parameter")
      Reported-by: default avatarkernel test robot <xiaolong.ye@intel.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Frederic Weisbecker <frederic@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Chris Metcalf <cmetcalf@mellanox.com>
      Cc: Christoph Lameter <cl@linux.com>
      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: Wanpeng Li <kernellwp@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      a7c8655b
    • Lihao Liang's avatar
      rcu: Remove unnecessary spinlock in rcu_boot_init_percpu_data() · 398953e6
      Lihao Liang authored
      Since rcu_boot_init_percpu_data() is only called at boot time,
      there is no data race and spinlock is not needed.
      Signed-off-by: default avatarLihao Liang <lianglihao@huawei.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      398953e6
  4. 11 Feb, 2018 2 commits
    • Linus Torvalds's avatar
      Linux 4.16-rc1 · 7928b2cb
      Linus Torvalds authored
      7928b2cb
    • Al Viro's avatar
      unify {de,}mangle_poll(), get rid of kernel-side POLL... · 7a163b21
      Al Viro authored
      except, again, POLLFREE and POLL_BUSY_LOOP.
      
      With this, we finally get to the promised end result:
      
       - POLL{IN,OUT,...} are plain integers and *not* in __poll_t, so any
         stray instances of ->poll() still using those will be caught by
         sparse.
      
       - eventpoll.c and select.c warning-free wrt __poll_t
      
       - no more kernel-side definitions of POLL... - userland ones are
         visible through the entire kernel (and used pretty much only for
         mangle/demangle)
      
       - same behavior as after the first series (i.e. sparc et.al. epoll(2)
         working correctly).
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a163b21