diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2016-08-09 08:44:12 -0700 |
|---|---|---|
| committer | Omprakash Dhyade <odhyade@codeaurora.org> | 2016-08-29 14:11:36 -0700 |
| commit | 9fe73e0c81d41127fa0c6596a375b890e35c2829 (patch) | |
| tree | ffd4c2b605e006d3d99913a8bc6889d9b7f2415d /tools/perf/scripts/python/export-to-postgresql.py | |
| parent | aaf356abef25b51d88bde2175a5c373f1f9ad49b (diff) | |
RFC: FROMLIST: locking/percpu-rwsem: Optimize readers and reduce global impact
Currently the percpu-rwsem switches to (global) atomic ops while a
writer is waiting; which could be quite a while and slows down
releasing the readers.
This patch cures this problem by ordering the reader-state vs
reader-count (see the comments in __percpu_down_read() and
percpu_down_write()). This changes a global atomic op into a full
memory barrier, which doesn't have the global cacheline contention.
This also enables using the percpu-rwsem with rcu_sync disabled in order
to bias the implementation differently, reducing the writer latency by
adding some cost to readers.
Mailing-list-URL: https://lkml.org/lkml/2016/8/9/181
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
[jstultz: Backported to 4.4]
Change-Id: I8ea04b4dca2ec36f1c2469eccafde1423490572f
Signed-off-by: John Stultz <john.stultz@linaro.org>
Git-commit: 3228c5eb7af2b4cb981706b88ed3c3e81ab8e80a
Git-repo: https://android.googlesource.com/kernel/common/+/android-4.4
Signed-off-by: Omprakash Dhyade <odhyade@codeaurora.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions
