lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 3 Jan 2018 14:17:17 +0100
From:   Ingo Molnar <mingo@...nel.org>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     linux-kernel@...r.kernel.org, rostedt@...dmis.org,
        rakib.mullick@...il.com, sj38.park@...il.com, dave@...olabs.net,
        Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [GIT PULL rcu/next] RCU commits for 4.15


* Paul E. McKenney <paulmck@...ux.vnet.ibm.com> wrote:

> Hello, Ingo, and Happy New Year!

Happy new year to you too Paul!

> This pull request contains the following changes:
> 
> 1.	Updates to use cond_resched() instead of cond_resched_rcu_qs()
> 	where feasible (currently everywhere except in kernel/rcu and
> 	in kernel/torture.c).  Also a couple of fixes to avoid sending
> 	IPIs to offline CPUs.
> 
> 	http://lkml.kernel.org/r/20171201192122.GA19301@linux.vnet.ibm.com
> 
> 2.	Updates to simplify RCU's dyntick-idle handling.
> 
> 	http://lkml.kernel.org/r/20171201193625.GA20681@linux.vnet.ibm.com
> 
> 3.	Miscellaneous fixes.
> 
> 	http://lkml.kernel.org/r/20171201194139.GA22722@linux.vnet.ibm.com
> 
> 4.	Updates to remove almost all uses of smp_read_barrier_depends()
> 	and read_barrier_depends().
> 
> 	http://lkml.kernel.org/r/20171201195053.GA23494@linux.vnet.ibm.com
> 
> 5.	Torture-test updates.
> 
> 	http://lkml.kernel.org/r/20171201200819.GA25519@linux.vnet.ibm.com
> 	
> All of these changes have been subjected to 0day Test Robot and -next
> testing, and are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo
> 
> for you to fetch changes up to 1dfa55e01987288d847220b8c027204871440ed1:
> 
>   Merge branches 'cond_resched.2017.12.04a', 'dyntick.2017.11.28a', 'fixes.2017.12.11a', 'srbd.2017.12.05a' and 'torture.2017.12.11a' into HEAD (2017-12-11 09:21:58 -0800)
> 
> ----------------------------------------------------------------
> Davidlohr Bueso (2):
>       locking/locktorture: Fix rwsem reader_delay
>       locking/locktorture: Fix num reader/writer corner cases
> 
> Paul E. McKenney (59):
>       rcu: Avoid ->dynticks_nmi_nesting store tearing
>       rcu: Reduce dyntick-idle state space
>       rcu: Move rcu_nmi_{enter,exit}() to prepare for consolidation
>       rcu: Clamp ->dynticks_nmi_nesting at eqs entry/exit
>       rcu: Define rcu_irq_{enter,exit}() in terms of rcu_nmi_{enter,exit}()
>       rcu: Make ->dynticks_nesting be a simple counter
>       rcu: Eliminate rcu_irq_enter_disabled()
>       rcu: Add tracing to irq/NMI dyntick-idle transitions
>       rcu: Shrink ->dynticks_{nmi_,}nesting from long long to long
>       rcu: Add ->dynticks field to rcu_dyntick trace event
>       rcu: Stop duplicating lockdep checks in RCU's idle-entry code
>       rcu: Avoid ->dynticks_nesting store tearing
>       rcu: Fold rcu_eqs_enter_common() into rcu_eqs_enter()
>       rcu: Fold rcu_eqs_exit_common() into rcu_eqs_exit()
>       rcu: Simplify rcu_eqs_{enter,exit}() non-idle task debug code
>       doc: Update dyntick-idle design documentation for NMI/irq consolidation
>       srcu: Prohibit call_srcu() use under raw spinlocks
>       torture: Suppress CPU stall warnings during shutdown ftrace dump
>       torture: Prepare scripting for shift from %p to %pK
>       sched: Stop resched_cpu() from sending IPIs to offline CPUs
>       sched: Stop switched_to_rt() from sending IPIs to offline CPUs
>       netfilter: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       mm: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       workqueue: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       trace: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       softirq: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       fs: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       doc: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
>       rcu: Account for rcu_all_qs() in cond_resched()
>       doc: READ_ONCE() now implies smp_barrier_depends()
>       mn10300: READ_ONCE() now implies smp_read_barrier_depends()
>       drivers/net/ethernet/qlogic/qed: Fix __qed_spq_block() ordering
>       fs/dcache: Use release-acquire for name/length update
>       percpu: READ_ONCE() now implies smp_read_barrier_depends()
>       rcu: Adjust read-side accessor comments for READ_ONCE()
>       rtnetlink: Update now-misleading smp_read_barrier_depends() comment
>       seqlock: Remove now-redundant smp_read_barrier_depends()
>       uprobes: Remove now-redundant smp_read_barrier_depends()
>       locking: Remove smp_read_barrier_depends() from queued_spin_lock_slowpath()
>       tracepoint: Remove smp_read_barrier_depends() from comment
>       lib/assoc_array: Remove smp_read_barrier_depends()
>       mm/ksm: Remove now-redundant smp_read_barrier_depends()
>       netfilter: Remove now-redundant smp_read_barrier_depends()
>       keyring: Remove now-redundant smp_read_barrier_depends()
>       drivers/infiniband: Remove now-redundant smp_read_barrier_depends()
>       drivers/dma/ioat: Remove now-redundant smp_read_barrier_depends()
>       doc: De-emphasize smp_read_barrier_depends
>       genetlink: Remove smp_read_barrier_depends() from comment
>       netlink: Remove smp_read_barrier_depends() from comment
>       checkpatch: Add warnings for {smp_,}read_barrier_depends()
>       drivers/vhost: Remove now-redundant read_barrier_depends()
>       rcu: Add comment giving debug strategy for double call_rcu()
>       torture: Reduce #ifdefs for preempt_schedule()
>       rcutorture: Preempt RCU-preempt readers more vigorously
>       torture: Place all torture-test modules in one MAINTAINERS group
>       torture: Make stutter less vulnerable to compilers and races
>       torture: Eliminate torture_runnable and perf_runnable
>       torture: Save a line in stutter_wait(): while -> for
>       Merge branches 'cond_resched.2017.12.04a', 'dyntick.2017.11.28a', 'fixes.2017.12.11a', 'srbd.2017.12.05a' and 'torture.2017.12.11a' into HEAD
> 
> Rakib Mullick (1):
>       rcu: Remove have_rcu_nocb_mask from tree_plugin.h
> 
> SeongJae Park (9):
>       rcutorture/configinit: Fix build directory error message
>       rcutorture: Remove unused script, config2frag.sh
>       rcutorture/kvm.sh: Remove unused variable, `alldone`
>       rcutorture/kvm.sh: Use consistent help text for --qemu-args
>       rcutorture/kvm.sh: Support execution from any directory
>       rcutorture/kvm-recheck-*: Improve result directory readability check
>       rcutorture: Simplify logging
>       rcutorture: Simplify functions.sh include path
>       rcutorture/kvm-build.sh: Skip build directory check
> 
> Steven Rostedt (VMware) (2):
>       tracing, rcu: Remove no longer used trace event rcu_prep_idle
>       tracing, rcu: Hide trace event rcu_nocb_wake when not used
> 
>  .../Design/Data-Structures/Data-Structures.html    |  49 ++-
>  .../RCU/Design/Requirements/Requirements.html      |   7 +-
>  Documentation/RCU/rcu_dereference.txt              |   6 +-
>  Documentation/RCU/stallwarn.txt                    |  10 +-
>  Documentation/RCU/whatisRCU.txt                    |   3 +-
>  Documentation/admin-guide/kernel-parameters.txt    |   9 -
>  Documentation/circular-buffers.txt                 |   3 +-
>  Documentation/locking/locktorture.txt              |   5 -
>  Documentation/memory-barriers.txt                  |  22 +-
>  MAINTAINERS                                        |  22 +-
>  arch/mn10300/kernel/mn10300-serial.c               |   7 +-
>  drivers/dma/ioat/dma.c                             |   2 -
>  drivers/infiniband/Kconfig                         |   1 +
>  drivers/infiniband/hw/hfi1/rc.c                    |   4 -
>  drivers/infiniband/hw/hfi1/ruc.c                   |   1 -
>  drivers/infiniband/hw/hfi1/sdma.c                  |   1 -
>  drivers/infiniband/hw/hfi1/uc.c                    |   2 -
>  drivers/infiniband/hw/hfi1/ud.c                    |   2 -
>  drivers/infiniband/hw/qib/qib_rc.c                 |   3 -
>  drivers/infiniband/hw/qib/qib_ruc.c                |   1 -
>  drivers/infiniband/hw/qib/qib_uc.c                 |   2 -
>  drivers/infiniband/hw/qib/qib_ud.c                 |   2 -
>  drivers/infiniband/sw/rdmavt/qp.c                  |   1 -
>  drivers/net/ethernet/qlogic/qed/qed_spq.c          |   4 +-
>  drivers/vhost/vhost.c                              |   7 +-
>  fs/dcache.c                                        |  10 +-
>  fs/file.c                                          |   2 +-
>  include/linux/genetlink.h                          |   3 +-
>  include/linux/netfilter/nfnetlink.h                |   3 +-
>  include/linux/percpu-refcount.h                    |   6 +-
>  include/linux/rcupdate.h                           |  25 +-
>  include/linux/rcutiny.h                            |   1 -
>  include/linux/rcutree.h                            |   1 -
>  include/linux/rtnetlink.h                          |   3 +-
>  include/linux/seqlock.h                            |   3 +-
>  include/linux/srcutree.h                           |   8 +-
>  include/linux/torture.h                            |   8 +-
>  include/linux/tracepoint.h                         |   5 +-
>  include/trace/events/rcu.h                         |  75 ++---
>  kernel/events/uprobes.c                            |  12 +-
>  kernel/locking/locktorture.c                       | 108 +++----
>  kernel/locking/qspinlock.c                         |  12 +-
>  kernel/rcu/rcu.h                                   |  27 +-
>  kernel/rcu/rcuperf.c                               |   6 +-
>  kernel/rcu/rcutorture.c                            |  12 +-
>  kernel/rcu/srcutree.c                              | 109 ++++---
>  kernel/rcu/tree.c                                  | 355 ++++++++-------------
>  kernel/rcu/tree.h                                  |   5 +-
>  kernel/rcu/tree_plugin.h                           |  13 +-
>  kernel/sched/core.c                                |   3 +-
>  kernel/sched/rt.c                                  |   2 +-
>  kernel/softirq.c                                   |   2 +-
>  kernel/torture.c                                   |  39 ++-
>  kernel/trace/trace.c                               |  11 -
>  kernel/trace/trace_benchmark.c                     |   2 +-
>  kernel/tracepoint.c                                |   9 +-
>  kernel/workqueue.c                                 |   2 +-
>  lib/assoc_array.c                                  |  37 +--
>  lib/percpu-refcount.c                              |   8 +-
>  mm/ksm.c                                           |   9 +-
>  mm/mlock.c                                         |   2 +-
>  net/ipv4/netfilter/arp_tables.c                    |   7 +-
>  net/ipv4/netfilter/ip_tables.c                     |   7 +-
>  net/ipv6/netfilter/ip6_tables.c                    |   7 +-
>  net/netfilter/nf_conntrack_core.c                  |   2 +-
>  scripts/checkpatch.pl                              |   6 +
>  security/keys/keyring.c                            |   7 -
>  .../selftests/rcutorture/bin/config2frag.sh        |  25 --
>  .../testing/selftests/rcutorture/bin/configinit.sh |   2 +-
>  .../testing/selftests/rcutorture/bin/kvm-build.sh  |   5 -
>  .../selftests/rcutorture/bin/kvm-recheck-lock.sh   |   2 +-
>  .../selftests/rcutorture/bin/kvm-recheck-rcu.sh    |   4 +-
>  .../rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh   |   2 +-
>  .../rcutorture/bin/kvm-recheck-rcuperf.sh          |   4 +-
>  .../selftests/rcutorture/bin/kvm-recheck.sh        |   2 +-
>  .../selftests/rcutorture/bin/kvm-test-1-run.sh     |   6 +-
>  tools/testing/selftests/rcutorture/bin/kvm.sh      |  42 +--
>  .../selftests/rcutorture/bin/parse-torture.sh      |   2 +-
>  .../rcutorture/configs/lock/ver_functions.sh       |   1 -
>  .../rcutorture/configs/rcu/ver_functions.sh        |   1 -
>  .../rcutorture/configs/rcuperf/ver_functions.sh    |   1 -
>  81 files changed, 501 insertions(+), 748 deletions(-)
>  delete mode 100755 tools/testing/selftests/rcutorture/bin/config2frag.sh

Assuming that the subject line wanted to say v4.16, not v4.15 (which would be 
really scary set of changes so late in the v4.15 cycle), I have pulled these into 
tip:core/rcu, thanks Paul!

	Ingo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ