From: Babu Moger <babu.moger@oracle.com>
To: davem@davemloft.net, peterz@infradead.org, mingo@redhat.com,
arnd@arndb.de
Cc: babu.moger@oracle.com, shannon.nelson@oracle.com,
haakon.bugge@oracle.com, steven.sistare@oracle.com,
vijay.ac.kumar@oracle.com, jane.chu@oracle.com,
sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arch@vger.kernel.org
Subject: [PATCH 0/6] Enable queued rwlock and queued spinlock for SPARC
Date: Thu, 18 May 2017 18:36:04 -0600 [thread overview]
Message-ID: <1495154170-854693-1-git-send-email-babu.moger@oracle.com> (raw)
This series of patches enables queued rwlock and queued spinlock support
for SPARC. These features were introduced some time ago in upstream.
Here are some of the earlier discussions.
https://lwn.net/Articles/572765/
https://lwn.net/Articles/582200/
https://lwn.net/Articles/561775/
https://lwn.net/Articles/590243/
Tests: Ran AIM7 benchmark to verify the performance on various workloads.
https://github.com/davidlohr/areaim. Same benchmark was used when this
feature was introduced and enabled on x86. Here are the test results.
Kernel 4.11.0-rc6 4.11.0-rc6 + Change
baseline queued locks
(Avg No.of jobs) (Avg No.of jobs)
Workload
High systime 10-100 user 17290.48 17295.18 +0.02
High systime 200-1000 users 109814.95 110248.87 +0.39
High systime 1200-2000 users 107912.40 127923.16 +18.54
Disk IO 10-100 users 168910.16 158834.17 -5.96
Disk IO 200-1000 users 242781.74 281285.80 +15.85
Disk IO 1200-2000 users 228518.23 218421.23 -4.41
Disk IO 10-100 users 183933.77 207928.67 +13.04
Disk IO 200-1000 users 491981.56 500162.33 +1.66
Disk IO 1200-2000 users 463395.66 467312.70 +0.84
fserver 10-100 users 254177.53 270283.08 +6.33
fserver IO 200-1000 users 269017.35 324812.2 +20.74
fserver IO 1200-2000 users 229538.87 284713.77 +24.03
Disk I/O results are little bit in negative territory. But majority of the
performance changes are in positive and it is significant in some cases.
Babu Moger (6):
kernel/locking: Fix compile error with qrwlock.c
arch/sparc: Define config parameter CPU_BIG_ENDIAN
arch/sparc: Introduce cmpxchg_u8 SPARC
arch/sparc: Enable queued rwlocks for SPARC
arch/sparc: Introduce xchg16 for SPARC
arch/sparc: Enable queued spinlock support for SPARC
arch/sparc/Kconfig | 6 +++
arch/sparc/include/asm/cmpxchg_64.h | 76 +++++++++++++++++++++++++++----
arch/sparc/include/asm/qrwlock.h | 7 +++
arch/sparc/include/asm/qspinlock.h | 7 +++
arch/sparc/include/asm/spinlock_64.h | 13 ++++-
arch/sparc/include/asm/spinlock_types.h | 10 ++++-
include/asm-generic/qrwlock_types.h | 6 +-
kernel/locking/qrwlock.c | 1 +
8 files changed, 110 insertions(+), 16 deletions(-)
create mode 100644 arch/sparc/include/asm/qrwlock.h
create mode 100644 arch/sparc/include/asm/qspinlock.h
next reply other threads:[~2017-05-19 0:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-19 0:36 Babu Moger [this message]
2017-05-19 0:36 ` [PATCH 0/6] Enable queued rwlock and queued spinlock for SPARC Babu Moger
2017-05-19 0:36 ` [PATCH 1/6] kernel/locking: Fix compile error with qrwlock.c Babu Moger
2017-05-19 0:36 ` Babu Moger
2017-05-19 2:27 ` David Miller
2017-05-19 2:27 ` David Miller
2017-05-19 16:35 ` Babu Moger
2017-05-19 0:36 ` [PATCH 2/6] arch/sparc: Define config parameter CPU_BIG_ENDIAN Babu Moger
2017-05-19 0:36 ` Babu Moger
2017-05-19 2:26 ` David Miller
2017-05-19 16:26 ` Babu Moger
2017-05-19 0:36 ` [PATCH 3/6] arch/sparc: Introduce cmpxchg_u8 SPARC Babu Moger
2017-05-19 0:36 ` [PATCH 4/6] arch/sparc: Enable queued rwlocks for SPARC Babu Moger
2017-05-19 0:36 ` Babu Moger
2017-05-19 2:31 ` David Miller
2017-05-19 2:31 ` David Miller
2017-05-19 9:03 ` Peter Zijlstra
2017-05-19 16:43 ` Babu Moger
2017-05-19 19:15 ` David Miller
2017-05-19 19:15 ` David Miller
2017-05-19 19:31 ` Peter Zijlstra
2017-05-19 19:31 ` Peter Zijlstra
2017-05-19 19:35 ` David Miller
2017-05-19 19:35 ` David Miller
2017-05-19 16:36 ` Babu Moger
2017-05-19 0:36 ` [PATCH 5/6] arch/sparc: Introduce xchg16 " Babu Moger
2017-05-19 0:36 ` [PATCH 6/6] arch/sparc: Enable queued spinlock support " Babu Moger
2017-05-19 2:32 ` David Miller
2017-05-19 16:37 ` Babu Moger
2017-05-19 16:37 ` Babu Moger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1495154170-854693-1-git-send-email-babu.moger@oracle.com \
--to=babu.moger@oracle.com \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=haakon.bugge@oracle.com \
--cc=jane.chu@oracle.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=shannon.nelson@oracle.com \
--cc=sparclinux@vger.kernel.org \
--cc=steven.sistare@oracle.com \
--cc=vijay.ac.kumar@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).