mbox series

[0/5,Bionic,SRU,Artful] Switch arm64 over to qrwlock

Message ID 20180105014837.23600-1-dann.frazier@canonical.com
Headers show
Series Switch arm64 over to qrwlock | expand

Message

dann frazier Jan. 5, 2018, 1:48 a.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1732238

These patches comprise all clean cherry picks that landed in the 4.15
merge window. Verified on a ThunderX2-based Sabre board, and regression
tested on a 128-cpu x86 system using stress-ng and locktorture. (The other
Ubuntu architectures don't use qrwlocks).

Will Deacon (5):
  locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock'
  locking/atomic: Add atomic_cond_read_acquire()
  locking/qrwlock: Use atomic_cond_read_acquire() when spinning in
    qrwlock
  locking/qrwlock, arm64: Move rwlock implementation over to qrwlocks
  locking/qrwlock: Prevent slowpath writers getting held up by fastpath

 arch/arm64/Kconfig                      |  17 ++++
 arch/arm64/include/asm/Kbuild           |   1 +
 arch/arm64/include/asm/spinlock.h       | 164 +-------------------------------
 arch/arm64/include/asm/spinlock_types.h |   6 +-
 include/asm-generic/atomic-long.h       |   3 +
 include/asm-generic/qrwlock.h           |  37 ++-----
 include/asm-generic/qrwlock_types.h     |  15 ++-
 include/linux/atomic.h                  |   4 +
 kernel/locking/qrwlock.c                |  86 +++--------------
 9 files changed, 61 insertions(+), 272 deletions(-)

Comments

Seth Forshee Jan. 10, 2018, 4:14 p.m. UTC | #1
On Thu, Jan 04, 2018 at 06:48:32PM -0700, dann frazier wrote:
> BugLink: http://bugs.launchpad.net/bugs/1732238
> 
> These patches comprise all clean cherry picks that landed in the 4.15
> merge window. Verified on a ThunderX2-based Sabre board, and regression
> tested on a 128-cpu x86 system using stress-ng and locktorture. (The other
> Ubuntu architectures don't use qrwlocks).

Clean cherry picks. It's a little frightening to be making significant
changes to locking code in an SRU, but this is limited to arm64 and
appears to have been well tested there.

Acked-by: Seth Forshee <seth.forshee@canonical.com>

Applied to bionic/master-next, thanks!
Marcelo Henrique Cerri Jan. 15, 2018, 12:23 p.m. UTC | #2
Clean cherry-picks with scope restricted to arm64.

Acked-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com>
Paolo Pisati Jan. 15, 2018, 1:56 p.m. UTC | #3
All clean cherry-picks from upstream.

Acked-by: Paolo Pisati <paolo.pisati@canonical.com>

On Fri, Jan 5, 2018 at 2:48 AM, dann frazier <dann.frazier@canonical.com> wrote:
> BugLink: http://bugs.launchpad.net/bugs/1732238
>
> These patches comprise all clean cherry picks that landed in the 4.15
> merge window. Verified on a ThunderX2-based Sabre board, and regression
> tested on a 128-cpu x86 system using stress-ng and locktorture. (The other
> Ubuntu architectures don't use qrwlocks).
>
> Will Deacon (5):
>   locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock'
>   locking/atomic: Add atomic_cond_read_acquire()
>   locking/qrwlock: Use atomic_cond_read_acquire() when spinning in
>     qrwlock
>   locking/qrwlock, arm64: Move rwlock implementation over to qrwlocks
>   locking/qrwlock: Prevent slowpath writers getting held up by fastpath
>
>  arch/arm64/Kconfig                      |  17 ++++
>  arch/arm64/include/asm/Kbuild           |   1 +
>  arch/arm64/include/asm/spinlock.h       | 164 +-------------------------------
>  arch/arm64/include/asm/spinlock_types.h |   6 +-
>  include/asm-generic/atomic-long.h       |   3 +
>  include/asm-generic/qrwlock.h           |  37 ++-----
>  include/asm-generic/qrwlock_types.h     |  15 ++-
>  include/linux/atomic.h                  |   4 +
>  kernel/locking/qrwlock.c                |  86 +++--------------
>  9 files changed, 61 insertions(+), 272 deletions(-)
>
> --
> 2.15.1
>
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khalid Elmously Feb. 3, 2018, 1:38 a.m. UTC | #4
Applied to Artful

On 2018-01-04 18:48:32 , dann frazier wrote:
> BugLink: http://bugs.launchpad.net/bugs/1732238
> 
> These patches comprise all clean cherry picks that landed in the 4.15
> merge window. Verified on a ThunderX2-based Sabre board, and regression
> tested on a 128-cpu x86 system using stress-ng and locktorture. (The other
> Ubuntu architectures don't use qrwlocks).
> 
> Will Deacon (5):
>   locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock'
>   locking/atomic: Add atomic_cond_read_acquire()
>   locking/qrwlock: Use atomic_cond_read_acquire() when spinning in
>     qrwlock
>   locking/qrwlock, arm64: Move rwlock implementation over to qrwlocks
>   locking/qrwlock: Prevent slowpath writers getting held up by fastpath
> 
>  arch/arm64/Kconfig                      |  17 ++++
>  arch/arm64/include/asm/Kbuild           |   1 +
>  arch/arm64/include/asm/spinlock.h       | 164 +-------------------------------
>  arch/arm64/include/asm/spinlock_types.h |   6 +-
>  include/asm-generic/atomic-long.h       |   3 +
>  include/asm-generic/qrwlock.h           |  37 ++-----
>  include/asm-generic/qrwlock_types.h     |  15 ++-
>  include/linux/atomic.h                  |   4 +
>  kernel/locking/qrwlock.c                |  86 +++--------------
>  9 files changed, 61 insertions(+), 272 deletions(-)
> 
> -- 
> 2.15.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team