linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] locking changes for v5.2
@ 2019-05-06  8:50 Ingo Molnar
  2019-05-06 16:11 ` Waiman Long
  2019-05-06 23:40 ` pr-tracker-bot
  0 siblings, 2 replies; 8+ messages in thread
From: Ingo Molnar @ 2019-05-06  8:50 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Peter Zijlstra, Will Deacon, Thomas Gleixner,
	Andrew Morton

Linus,

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

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

   # HEAD: d671002be6bdd7f77a771e23bf3e95d1f16775e6 locking/lockdep: Remove unnecessary unlikely()

[ Dependency note: this tree depends on commits also in the RCU tree, 
  please disregard this pull request if you weren't able to pull the RCU 
  tree for some reason. ]

Here are the locking changes in this cycle:

 - rwsem unification and simpler micro-optimizations to prepare for more 
   intrusive (and more lucrative) scalability improvements in v5.3
   (Waiman Long)

 - Lockdep irq state tracking flag usage cleanups (Frederic Weisbecker)

 - static key improvements (Jakub Kicinski, Peter Zijlstra)

 - misc updates, cleanups and smaller fixes.

 Thanks,

	Ingo

------------------>

Arnd Bergmann (1):
      locking/lockdep: Avoid bogus Clang warning

Frederic Weisbecker (4):
      locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING
      locking/lockdep: Map remaining magic numbers to lock usage mask names
      locking/lockdep: Use expanded masks on find_usage_*() functions
      locking/lockdep: Test all incompatible scenarios at once in check_irq_usage()

Ingo Molnar (3):
      Merge branch 'linus' into locking/core, to pick up fixes
      Merge branch 'lkmm-for-mingo' of git://git.kernel.org/.../paulmck/linux-rcu into locking/core
      Merge branch 'locking-core-for-linus' into linus

Jakub Kicinski (3):
      locking/static_key: Add support for deferred static branches
      locking/static_key: Factor out the fast path of static_key_slow_dec()
      locking/static_key: Don't take sleeping locks in __static_key_slow_dec_deferred()

Peter Zijlstra (2):
      locking/static_key: Fix false positive warnings on concurrent dec/inc
      locking/lockdep: Generate LOCKF_ bit composites

Waiman Long (15):
      locking/rwsem: Remove arch specific rwsem files
      locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs
      locking/rwsem: Optimize down_read_trylock()
      locking/rwsem: Relocate rwsem_down_read_failed()
      locking/rwsem: Move owner setting code from rwsem.c to rwsem.h
      locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h
      locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued()
      locking/rwsem: Add debug check for __down_read*()
      locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
      locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs
      locking/lock_events: Make lock_events available for all archs & other locks
      locking/lock_events: Don't show pvqspinlock events on bare metal
      locking/rwsem: Enable lock event counting
      locking/rwsem: Optimize rwsem structure for uncontended lock acquisition
      locking/rwsem: Prevent unneeded warning during locking selftest

zhengbin (1):
      locking/lockdep: Remove unnecessary unlikely()

 MAINTAINERS                          |   1 -
 arch/Kconfig                         |   9 +
 arch/alpha/Kconfig                   |   7 -
 arch/alpha/include/asm/rwsem.h       | 211 ----------------------
 arch/arc/Kconfig                     |   3 -
 arch/arm/Kconfig                     |   4 -
 arch/arm/include/asm/Kbuild          |   1 -
 arch/arm64/Kconfig                   |   3 -
 arch/arm64/include/asm/Kbuild        |   1 -
 arch/c6x/Kconfig                     |   3 -
 arch/csky/Kconfig                    |   3 -
 arch/h8300/Kconfig                   |   3 -
 arch/hexagon/Kconfig                 |   6 -
 arch/hexagon/include/asm/Kbuild      |   1 -
 arch/ia64/Kconfig                    |   4 -
 arch/ia64/include/asm/rwsem.h        | 172 ------------------
 arch/m68k/Kconfig                    |   7 -
 arch/microblaze/Kconfig              |   6 -
 arch/mips/Kconfig                    |   7 -
 arch/nds32/Kconfig                   |   3 -
 arch/nios2/Kconfig                   |   3 -
 arch/openrisc/Kconfig                |   6 -
 arch/parisc/Kconfig                  |   6 -
 arch/powerpc/Kconfig                 |   7 -
 arch/powerpc/include/asm/Kbuild      |   1 -
 arch/riscv/Kconfig                   |   3 -
 arch/s390/Kconfig                    |   6 -
 arch/s390/include/asm/Kbuild         |   1 -
 arch/sh/Kconfig                      |   6 -
 arch/sh/include/asm/Kbuild           |   1 -
 arch/sparc/Kconfig                   |   8 -
 arch/sparc/include/asm/Kbuild        |   1 -
 arch/unicore32/Kconfig               |   6 -
 arch/x86/Kconfig                     |  11 --
 arch/x86/include/asm/rwsem.h         | 237 ------------------------
 arch/x86/lib/Makefile                |   1 -
 arch/x86/lib/rwsem.S                 | 156 ----------------
 arch/x86/um/Kconfig                  |   6 -
 arch/x86/um/Makefile                 |   4 +-
 arch/xtensa/Kconfig                  |   3 -
 arch/xtensa/include/asm/Kbuild       |   1 -
 include/asm-generic/rwsem.h          | 140 ---------------
 include/linux/jump_label_ratelimit.h |  64 ++++++-
 include/linux/lockdep.h              |   2 +-
 include/linux/rwsem-spinlock.h       |  47 -----
 include/linux/rwsem.h                |  37 ++--
 kernel/Kconfig.locks                 |   2 +-
 kernel/jump_label.c                  |  63 ++++---
 kernel/locking/Makefile              |   5 +-
 kernel/locking/lock_events.c         | 179 ++++++++++++++++++
 kernel/locking/lock_events.h         |  59 ++++++
 kernel/locking/lock_events_list.h    |  67 +++++++
 kernel/locking/lockdep.c             | 267 ++++++++++++++++++---------
 kernel/locking/lockdep_internals.h   |  34 +++-
 kernel/locking/percpu-rwsem.c        |   2 +
 kernel/locking/qspinlock.c           |   8 +-
 kernel/locking/qspinlock_paravirt.h  |  19 +-
 kernel/locking/qspinlock_stat.h      | 242 +++++--------------------
 kernel/locking/rwsem-spinlock.c      | 339 -----------------------------------
 kernel/locking/rwsem-xadd.c          | 204 +++++++++++----------
 kernel/locking/rwsem.c               |  25 +--
 kernel/locking/rwsem.h               | 174 +++++++++++++++++-
 62 files changed, 983 insertions(+), 1925 deletions(-)

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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06  8:50 [GIT PULL] locking changes for v5.2 Ingo Molnar
@ 2019-05-06 16:11 ` Waiman Long
  2019-05-06 19:43   ` Ingo Molnar
  2019-05-06 23:40 ` pr-tracker-bot
  1 sibling, 1 reply; 8+ messages in thread
From: Waiman Long @ 2019-05-06 16:11 UTC (permalink / raw)
  To: Ingo Molnar, Linus Torvalds
  Cc: linux-kernel, Peter Zijlstra, Will Deacon, Thomas Gleixner,
	Andrew Morton

On 5/6/19 4:50 AM, Ingo Molnar wrote:
> Linus,
>
> Please pull the latest locking-core-for-linus git tree from:
>
>    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
>
>    # HEAD: d671002be6bdd7f77a771e23bf3e95d1f16775e6 locking/lockdep: Remove unnecessary unlikely()
>
> [ Dependency note: this tree depends on commits also in the RCU tree, 
>   please disregard this pull request if you weren't able to pull the RCU 
>   tree for some reason. ]
>
> Here are the locking changes in this cycle:
>
>  - rwsem unification and simpler micro-optimizations to prepare for more 
>    intrusive (and more lucrative) scalability improvements in v5.3
>    (Waiman Long)

Is it possible to pull in also my "locking/rwsem: Prevent decrement of
reader count before  increment" patch for 5.2? The rests can wait until 5.3.

Thanks,
Longman


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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06 16:11 ` Waiman Long
@ 2019-05-06 19:43   ` Ingo Molnar
  2019-05-06 20:55     ` Linus Torvalds
  2019-05-07 14:39     ` Waiman Long
  0 siblings, 2 replies; 8+ messages in thread
From: Ingo Molnar @ 2019-05-06 19:43 UTC (permalink / raw)
  To: Waiman Long
  Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Will Deacon,
	Thomas Gleixner, Andrew Morton


* Waiman Long <longman9394@gmail.com> wrote:

> On 5/6/19 4:50 AM, Ingo Molnar wrote:
> > Linus,
> >
> > Please pull the latest locking-core-for-linus git tree from:
> >
> >    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
> >
> >    # HEAD: d671002be6bdd7f77a771e23bf3e95d1f16775e6 locking/lockdep: Remove unnecessary unlikely()
> >
> > [ Dependency note: this tree depends on commits also in the RCU tree, 
> >   please disregard this pull request if you weren't able to pull the RCU 
> >   tree for some reason. ]
> >
> > Here are the locking changes in this cycle:
> >
> >  - rwsem unification and simpler micro-optimizations to prepare for more 
> >    intrusive (and more lucrative) scalability improvements in v5.3
> >    (Waiman Long)
> 
> Is it possible to pull in also my "locking/rwsem: Prevent decrement of
> reader count before  increment" patch for 5.2? The rests can wait until 5.3.

Sure - how close is this to a straight:

	git revert 70800c3c0cc5

?

If it's close enough then please resubmit this as a 'Revert "..."' patch, 
which I'll queue up in locking/urgent.

It also is a performance, not a correctness fix, and should probably get 
a Cc: stable as well, right?

In any case it doesn't directly affect the locking/core bits pull request 
for Linus, 70800c3c0cc5 is already upstream.

Thanks,

	Ingo

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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06 19:43   ` Ingo Molnar
@ 2019-05-06 20:55     ` Linus Torvalds
  2019-05-06 22:39       ` Ingo Molnar
  2019-05-07  8:24       ` Ingo Molnar
  2019-05-07 14:39     ` Waiman Long
  1 sibling, 2 replies; 8+ messages in thread
From: Linus Torvalds @ 2019-05-06 20:55 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Waiman Long, Linux List Kernel Mailing, Peter Zijlstra,
	Will Deacon, Thomas Gleixner, Andrew Morton

On Mon, May 6, 2019 at 12:43 PM Ingo Molnar <mingo@kernel.org> wrote:
>
> Sure - how close is this to a straight:
>
>         git revert 70800c3c0cc5

It's not really a revert. The code is different (and better) from the
straight revert, but perhaps equally importantly it also ends up with
a big comment about what's going on that made the original commit
wrong.

So I'd suggest just taking the patch as-is, and not calling it a
revert. It may revert to the original _model_ of wakup list traversal,
but it does so differently enough that the patch itself is not a
revert.

                 Linus

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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06 20:55     ` Linus Torvalds
@ 2019-05-06 22:39       ` Ingo Molnar
  2019-05-07  8:24       ` Ingo Molnar
  1 sibling, 0 replies; 8+ messages in thread
From: Ingo Molnar @ 2019-05-06 22:39 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Waiman Long, Linux List Kernel Mailing, Peter Zijlstra,
	Will Deacon, Thomas Gleixner, Andrew Morton


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

> On Mon, May 6, 2019 at 12:43 PM Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Sure - how close is this to a straight:
> >
> >         git revert 70800c3c0cc5
> 
> It's not really a revert. The code is different (and better) from the 
> straight revert, but perhaps equally importantly it also ends up with a 
> big comment about what's going on that made the original commit wrong.
> 
> So I'd suggest just taking the patch as-is, and not calling it a 
> revert. It may revert to the original _model_ of wakup list traversal, 
> but it does so differently enough that the patch itself is not a 
> revert.

Ok, will do this tomorrow!

Thanks,

	Ingo

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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06  8:50 [GIT PULL] locking changes for v5.2 Ingo Molnar
  2019-05-06 16:11 ` Waiman Long
@ 2019-05-06 23:40 ` pr-tracker-bot
  1 sibling, 0 replies; 8+ messages in thread
From: pr-tracker-bot @ 2019-05-06 23:40 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Will Deacon,
	Thomas Gleixner, Andrew Morton

The pull request you sent on Mon, 6 May 2019 10:50:14 +0200:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/007dc78fea62610bf06829e38f1d8c69b6ea5af6

Thank you!

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

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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06 20:55     ` Linus Torvalds
  2019-05-06 22:39       ` Ingo Molnar
@ 2019-05-07  8:24       ` Ingo Molnar
  1 sibling, 0 replies; 8+ messages in thread
From: Ingo Molnar @ 2019-05-07  8:24 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Waiman Long, Linux List Kernel Mailing, Peter Zijlstra,
	Will Deacon, Thomas Gleixner, Andrew Morton


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

> On Mon, May 6, 2019 at 12:43 PM Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Sure - how close is this to a straight:
> >
> >         git revert 70800c3c0cc5
> 
> It's not really a revert. The code is different (and better) from the
> straight revert, but perhaps equally importantly it also ends up with
> a big comment about what's going on that made the original commit
> wrong.
> 
> So I'd suggest just taking the patch as-is, and not calling it a
> revert. It may revert to the original _model_ of wakup list traversal,
> but it does so differently enough that the patch itself is not a
> revert.

Ok, Waiman's patch is now the following commit in locking/urgent:

  a9e9bcb45b15: ("locking/rwsem: Prevent decrement of reader count before increment")

it should get to you in a couple of days.

Thanks,

	Ingo

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

* Re: [GIT PULL] locking changes for v5.2
  2019-05-06 19:43   ` Ingo Molnar
  2019-05-06 20:55     ` Linus Torvalds
@ 2019-05-07 14:39     ` Waiman Long
  1 sibling, 0 replies; 8+ messages in thread
From: Waiman Long @ 2019-05-07 14:39 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Will Deacon,
	Thomas Gleixner, Andrew Morton

On 5/6/19 3:43 PM, Ingo Molnar wrote:
> * Waiman Long <longman9394@gmail.com> wrote:
>
>> On 5/6/19 4:50 AM, Ingo Molnar wrote:
>>> Linus,
>>>
>>> Please pull the latest locking-core-for-linus git tree from:
>>>
>>>    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
>>>
>>>    # HEAD: d671002be6bdd7f77a771e23bf3e95d1f16775e6 locking/lockdep: Remove unnecessary unlikely()
>>>
>>> [ Dependency note: this tree depends on commits also in the RCU tree, 
>>>   please disregard this pull request if you weren't able to pull the RCU 
>>>   tree for some reason. ]
>>>
>>> Here are the locking changes in this cycle:
>>>
>>>  - rwsem unification and simpler micro-optimizations to prepare for more 
>>>    intrusive (and more lucrative) scalability improvements in v5.3
>>>    (Waiman Long)
>> Is it possible to pull in also my "locking/rwsem: Prevent decrement of
>> reader count before  increment" patch for 5.2? The rests can wait until 5.3.
> Sure - how close is this to a straight:
>
> 	git revert 70800c3c0cc5
>
> ?
>
> If it's close enough then please resubmit this as a 'Revert "..."' patch, 
> which I'll queue up in locking/urgent.
As explained by Linus, it is not a straight revert.
> It also is a performance, not a correctness fix, and should probably get 
> a Cc: stable as well, right?

This patch is not for performance. It is fixing a regression and it does
have a cc: stable tag.

Thanks you for your help as I would like to backport the fix downstream.

Cheers,
Longman


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

end of thread, other threads:[~2019-05-07 14:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-06  8:50 [GIT PULL] locking changes for v5.2 Ingo Molnar
2019-05-06 16:11 ` Waiman Long
2019-05-06 19:43   ` Ingo Molnar
2019-05-06 20:55     ` Linus Torvalds
2019-05-06 22:39       ` Ingo Molnar
2019-05-07  8:24       ` Ingo Molnar
2019-05-07 14:39     ` Waiman Long
2019-05-06 23:40 ` pr-tracker-bot

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).