linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] RCU updates for v5.1
@ 2019-03-05 12:03 Ingo Molnar
  2019-03-05 23:15 ` pr-tracker-bot
  2019-03-06  2:13 ` Linus Torvalds
  0 siblings, 2 replies; 6+ messages in thread
From: Ingo Molnar @ 2019-03-05 12:03 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Paul E. McKenney, Thomas Gleixner, Peter Zijlstra,
	Andrew Morton

Linus,

Please pull the latest core-rcu-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus

   # HEAD: cae45e1c6c541283a1bd155aa7b0a57e353b4df4 Merge branch 'rcu-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu

The main RCU related changes in this cycle were:

 - Additional cleanups after RCU flavor consolidation
 - Grace-period forward-progress cleanups and improvements
 - Documentation updates
 - Miscellaneous fixes
 - spin_is_locked() conversions to lockdep
 - SPDX changes to RCU source and header files
 - SRCU updates
 - Torture-test updates, including nolibc updates and moving
   nolibc to tools/include

 Thanks,

	Ingo

------------------>
Andrea Parri (1):
      tools/memory-model: Model smp_mb__after_unlock_lock()

Joel Fernandes (Google) (1):
      rcu: Add sparse check to rcu_assign_pointer()

Junchang Wang (2):
      doc: Fix outdated links
      RCU/torture.txt: Remove section MODULE PARAMETERS

Paul E. McKenney (59):
      tools/memory-model: Add scripts to check github litmus tests
      tools/memory-model: Make scripts take "-j" abbreviation for "--jobs"
      sched: Replace call_rcu_sched() with call_rcu()
      sched: Replace synchronize_sched() with synchronize_rcu()
      rcu: Rename and comment changes due to only one rcuo kthread per CPU
      rcu: Make expedited IPI handler return after handling critical section
      rcu: Inline force_quiescent_state() into rcu_force_quiescent_state()
      rcu: Eliminate RCU_BH_FLAVOR and RCU_SCHED_FLAVOR
      rcu: Inline rcu_kthread_do_work() into its sole remaining caller
      rcu: Determine expedited-GP IPI handler at build time
      rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu_expedited()
      rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu()
      rcu: Inline _synchronize_rcu_expedited() into synchronize_rcu_expedited()
      rcu: Discard separate per-CPU callback counts
      rcu: Remove wrapper definitions for obsolete RCU update functions
      rcu: Accommodate zero jiffies_till_first_fqs and kthread kicking
      rcu: Move rcu_cpu_kthread_task to rcu_data structure
      rcu: Move rcu_cpu_kthread_status to rcu_data structure
      rcu: Remove unused rcu_cpu_kthread_loops per-CPU variable
      rcu: Move rcu_cpu_has_work to rcu_data structure
      rcu: Remove unused rcu_cpu_kthread_cpu per-CPU variable
      rcu: Update NOCB comments
      rcu: Improve diagnostics for failed RCU grace-period start
      rcu: Protect rcu_check_gp_kthread_starvation() access to ->gp_flags
      rcu: Add sysrq rcu_node-dump capability
      doc: Now jiffies_till_sched_qs solicits help from cond_resched()
      doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier()
      rcu: Docbook for rcu_head_init() and rcu_head_after_call_rcu()
      rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq()
      rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU
      rcu: Remove preemption disabling from expedited CPU selection
      rcu: Repair rcu_nmi_exit() docbook header
      rcu: Fix obsolete DYNTICK_IRQ_NONIDLE comment
      include/asm-generic: Remove spin_is_locked() comment
      virt/kvm: Replace spin_is_locked() with lockdep
      srcu: Check for invalid idx argument in srcu_read_unlock()
      rcutorture: Record grace periods in forward-progress histogram
      torture: Explain and simplify odd "for" loop in mkinitrd.sh
      rcutorture: Add grace period after CPU offline
      rcuperf: Stop abusing IS_ENABLED()
      rcu/rcu.h: Convert to SPDX license identifier
      rcu/rcuperf: Convert to SPDX license identifier
      rcu/rcu_segcblist: Convert to SPDX license identifier
      rcu/rcutorture: Convert to SPDX license identifier
      rcu/srcu: Convert to SPDX license identifier
      rcu/sync: Convert to SPDX license identifier
      rcu/tiny: Convert to SPDX license identifier
      rcu/tree: Convert to SPDX license identifier
      rcu/update: Convert to SPDX license identifier
      linux/rcu_node_tree: Convert to SPDX license identifier
      linux/rcupdate: Convert to SPDX license identifier
      linux/rcu_segcblist: Convert to SPDX license identifier
      linux/rcu_sync: Convert to SPDX license identifier
      linux/rcutiny: Convert to SPDX license identifier
      linux/rcutree: Convert to SPDX license identifier
      linux/srcu: Convert to SPDX license identifier
      torture: Convert to SPDX license identifier
      linux/torture: Convert to SPDX license identifier
      locking/locktorture: Convert to SPDX license identifier

Sebastian Andrzej Siewior (1):
      srcu: Remove srcu_queue_delayed_work_on()

Willy Tarreau (5):
      rcutorture/nolibc: Fix the clobbered registers in the MIPS syscall definition
      rcutorture/nolibc: Fix some poor indentation and alignment
      rcutorture/nolibc: Add a bit of documentation to explain how to use nolibc
      tools headers: Move the nolibc header from rcutorture to tools/include/nolibc/
      MAINTAINERS: Add myself as the maintainer for the nolibc header file(s)

Zhang, Jun (2):
      rcu: Do RCU GP kthread self-wakeup from softirq and interrupt
      rcu: Prevent needless ->gp_seq_needed update in __note_gp_changes()


 .../Expedited-Grace-Periods/ExpSchedFlow.svg       |  18 +-
 .../Expedited-Grace-Periods.html                   |  26 +-
 .../Memory-Ordering/Tree-RCU-Memory-Ordering.html  |   6 +-
 .../TreeRCU-callback-invocation.svg                |   2 +-
 .../RCU/Design/Memory-Ordering/TreeRCU-gp.svg      |   8 +-
 .../RCU/Design/Memory-Ordering/TreeRCU-qs.svg      |   6 +-
 .../RCU/Design/Requirements/Requirements.html      |  20 +-
 Documentation/RCU/stallwarn.txt                    |  15 +-
 Documentation/RCU/torture.txt                      | 169 +------------
 Documentation/RCU/whatisRCU.txt                    |   4 +-
 Documentation/admin-guide/kernel-parameters.txt    |  32 ++-
 MAINTAINERS                                        |   6 +
 include/asm-generic/bug.h                          |   3 -
 include/linux/rcu_node_tree.h                      |  17 +-
 include/linux/rcu_segcblist.h                      |  17 +-
 include/linux/rcu_sync.h                           |  15 +-
 include/linux/rcupdate.h                           |  91 +------
 include/linux/rcutiny.h                            |  17 +-
 include/linux/rcutree.h                            |  19 +-
 include/linux/srcu.h                               |  18 +-
 include/linux/srcutiny.h                           |  17 +-
 include/linux/srcutree.h                           |  20 +-
 include/linux/torture.h                            |  20 +-
 kernel/locking/locktorture.c                       |  21 +-
 kernel/rcu/rcu.h                                   |  21 +-
 kernel/rcu/rcu_segcblist.c                         |  17 +-
 kernel/rcu/rcu_segcblist.h                         |  17 +-
 kernel/rcu/rcuperf.c                               |  27 +--
 kernel/rcu/rcutorture.c                            |  59 +++--
 kernel/rcu/srcutiny.c                              |  17 +-
 kernel/rcu/srcutree.c                              |  72 ++----
 kernel/rcu/sync.c                                  |  15 +-
 kernel/rcu/tiny.c                                  |  19 +-
 kernel/rcu/tree.c                                  | 267 +++++++++++++--------
 kernel/rcu/tree.h                                  |  53 ++--
 kernel/rcu/tree_exp.h                              | 201 ++++++----------
 kernel/rcu/tree_plugin.h                           | 238 +++++-------------
 kernel/rcu/update.c                                |  17 +-
 kernel/sched/cpufreq.c                             |   4 +-
 kernel/sched/cpufreq_schedutil.c                   |   2 +-
 kernel/sched/sched.h                               |   2 +-
 kernel/sched/topology.c                            |   4 +-
 kernel/time/timer.c                                |   2 +-
 kernel/torture.c                                   |  25 +-
 .../rcutorture/bin => include/nolibc}/nolibc.h     | 118 +++++++--
 tools/memory-model/.gitignore                      |   1 +
 tools/memory-model/README                          |   2 +
 tools/memory-model/linux-kernel.bell               |   3 +-
 tools/memory-model/linux-kernel.cat                |   4 +-
 tools/memory-model/linux-kernel.def                |   1 +
 tools/memory-model/scripts/README                  |  70 ++++++
 tools/memory-model/scripts/checkalllitmus.sh       |  53 ++--
 tools/memory-model/scripts/checkghlitmus.sh        |  65 +++++
 tools/memory-model/scripts/checklitmus.sh          |  74 +-----
 tools/memory-model/scripts/checklitmushist.sh      |  60 +++++
 tools/memory-model/scripts/cmplitmushist.sh        |  87 +++++++
 tools/memory-model/scripts/initlitmushist.sh       |  68 ++++++
 tools/memory-model/scripts/judgelitmus.sh          |  78 ++++++
 tools/memory-model/scripts/newlitmushist.sh        |  61 +++++
 tools/memory-model/scripts/parseargs.sh            | 136 +++++++++++
 tools/memory-model/scripts/runlitmushist.sh        |  87 +++++++
 tools/testing/selftests/rcutorture/bin/mkinitrd.sh |  27 ++-
 virt/kvm/kvm_main.c                                |   2 +-
 63 files changed, 1395 insertions(+), 1268 deletions(-)
 rename tools/{testing/selftests/rcutorture/bin => include/nolibc}/nolibc.h (94%)
 create mode 100644 tools/memory-model/.gitignore
 create mode 100644 tools/memory-model/scripts/README
 create mode 100644 tools/memory-model/scripts/checkghlitmus.sh
 create mode 100644 tools/memory-model/scripts/checklitmushist.sh
 create mode 100644 tools/memory-model/scripts/cmplitmushist.sh
 create mode 100644 tools/memory-model/scripts/initlitmushist.sh
 create mode 100644 tools/memory-model/scripts/judgelitmus.sh
 create mode 100644 tools/memory-model/scripts/newlitmushist.sh
 create mode 100644 tools/memory-model/scripts/parseargs.sh
 create mode 100644 tools/memory-model/scripts/runlitmushist.sh

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

* Re: [GIT PULL] RCU updates for v5.1
  2019-03-05 12:03 [GIT PULL] RCU updates for v5.1 Ingo Molnar
@ 2019-03-05 23:15 ` pr-tracker-bot
  2019-03-06  2:13 ` Linus Torvalds
  1 sibling, 0 replies; 6+ messages in thread
From: pr-tracker-bot @ 2019-03-05 23:15 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Paul E. McKenney, Thomas Gleixner,
	Peter Zijlstra, Andrew Morton

The pull request you sent on Tue, 5 Mar 2019 13:03:01 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/3717f613f48df0222311f974cf8a06c8a6c97bae

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

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

* Re: [GIT PULL] RCU updates for v5.1
  2019-03-05 12:03 [GIT PULL] RCU updates for v5.1 Ingo Molnar
  2019-03-05 23:15 ` pr-tracker-bot
@ 2019-03-06  2:13 ` Linus Torvalds
  2019-03-06  7:08   ` Ingo Molnar
  1 sibling, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2019-03-06  2:13 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linux List Kernel Mailing, Paul E. McKenney, Thomas Gleixner,
	Peter Zijlstra, Andrew Morton

On Tue, Mar 5, 2019 at 4:03 AM Ingo Molnar <mingo@kernel.org> wrote:
>
> Please pull the latest core-rcu-for-linus git tree from:
>
>    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus

Hmm. I think this made my build time explode.

I'm bisecting, but it looks like my allmodconfig builds went from ~31
min to ~39 min with this pull.

NOTE! I'm  not saying that the kernel slowed down. Just the *build*
(with the same kernel) slowed down.

It's odd, and maybe I did something wrong, so I'll have to
double-check the numbers, but I thought I'd mention it in case
somebody goes "Ahh, I did X to the include files, so now every
compiler invocation probably sees all of xyz and that will slow things
down enormously".

            Linus

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

* Re: [GIT PULL] RCU updates for v5.1
  2019-03-06  2:13 ` Linus Torvalds
@ 2019-03-06  7:08   ` Ingo Molnar
  2019-03-06 14:42     ` Linus Torvalds
  0 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2019-03-06  7:08 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux List Kernel Mailing, Paul E. McKenney, Thomas Gleixner,
	Peter Zijlstra, Andrew Morton


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Tue, Mar 5, 2019 at 4:03 AM Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Please pull the latest core-rcu-for-linus git tree from:
> >
> >    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus
> 
> Hmm. I think this made my build time explode.
> 
> I'm bisecting, but it looks like my allmodconfig builds went from ~31
> min to ~39 min with this pull.
> 
> NOTE! I'm  not saying that the kernel slowed down. Just the *build*
> (with the same kernel) slowed down.
> 
> It's odd, and maybe I did something wrong, so I'll have to
> double-check the numbers, but I thought I'd mention it in case
> somebody goes "Ahh, I did X to the include files, so now every
> compiler invocation probably sees all of xyz and that will slow things
> down enormously".

Could it be the locking tree?

In particular the atomics auto-generation slowed down the build before, 
but this build regression was thought to be fixed with:

  0cf264b3133d: locking/atomics: Check atomic headers with sha1sum

but maybe that's not the whole story?

Or it's an unreported slowdown related to the RCU tree, as you say.

Thanks,

	Ingo

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

* Re: [GIT PULL] RCU updates for v5.1
  2019-03-06  7:08   ` Ingo Molnar
@ 2019-03-06 14:42     ` Linus Torvalds
  2019-03-06 16:32       ` Paul E. McKenney
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2019-03-06 14:42 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linux List Kernel Mailing, Paul E. McKenney, Thomas Gleixner,
	Peter Zijlstra, Andrew Morton

On Tue, Mar 5, 2019 at 11:08 PM Ingo Molnar <mingo@kernel.org> wrote:
>
>
> * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> >
> > Hmm. I think this made my build time explode.
>
> Could it be the locking tree?

No, I hadn't pulled that yet.

And it looks like it was a false alarm anyway. Sorry for the noise.

                         Linus

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

* Re: [GIT PULL] RCU updates for v5.1
  2019-03-06 14:42     ` Linus Torvalds
@ 2019-03-06 16:32       ` Paul E. McKenney
  0 siblings, 0 replies; 6+ messages in thread
From: Paul E. McKenney @ 2019-03-06 16:32 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Ingo Molnar, Linux List Kernel Mailing, Thomas Gleixner,
	Peter Zijlstra, Andrew Morton

On Wed, Mar 06, 2019 at 06:42:30AM -0800, Linus Torvalds wrote:
> On Tue, Mar 5, 2019 at 11:08 PM Ingo Molnar <mingo@kernel.org> wrote:
> >
> >
> > * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> > >
> > > Hmm. I think this made my build time explode.
> >
> > Could it be the locking tree?
> 
> No, I hadn't pulled that yet.
> 
> And it looks like it was a false alarm anyway. Sorry for the noise.

Whew!!!  ;-)

							Thanx, Paul


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

end of thread, other threads:[~2019-03-06 16:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-05 12:03 [GIT PULL] RCU updates for v5.1 Ingo Molnar
2019-03-05 23:15 ` pr-tracker-bot
2019-03-06  2:13 ` Linus Torvalds
2019-03-06  7:08   ` Ingo Molnar
2019-03-06 14:42     ` Linus Torvalds
2019-03-06 16:32       ` 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;
as well as URLs for NNTP newsgroup(s).