Files
linux/include/uapi/linux
Peter Oskolkov 2a36ab717e rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
This patchset is based on Google-internal RSEQ work done by Paul
Turner and Andrew Hunter.

When working with per-CPU RSEQ-based memory allocations, it is
sometimes important to make sure that a global memory location is no
longer accessed from RSEQ critical sections. For example, there can be
two per-CPU lists, one is "active" and accessed per-CPU, while another
one is inactive and worked on asynchronously "off CPU" (e.g.  garbage
collection is performed). Then at some point the two lists are
swapped, and a fast RCU-like mechanism is required to make sure that
the previously active list is no longer accessed.

This patch introduces such a mechanism: in short, membarrier() syscall
issues an IPI to a CPU, restarting a potentially active RSEQ critical
section on the CPU.

Signed-off-by: Peter Oskolkov <posk@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lkml.kernel.org/r/20200923233618.2572849-1-posk@google.com
2020-09-25 14:23:27 +02:00
..
2020-05-28 11:22:14 +02:00
2020-08-12 10:58:00 -07:00
2020-07-19 19:20:22 -07:00
2020-07-10 13:54:00 -07:00
2020-06-24 21:34:11 +02:00
2020-05-14 16:44:25 +02:00
2020-05-28 22:09:47 -04:00
2020-07-12 10:22:01 +02:00
2020-07-19 19:20:22 -07:00
2020-07-24 17:12:41 -07:00
2020-08-05 19:02:07 +05:30
2020-07-13 15:32:56 -07:00
2020-07-24 17:12:41 -07:00
2020-07-19 19:20:22 -07:00
2020-05-21 08:20:35 -06:00
2020-07-09 12:38:41 -07:00
2020-05-21 17:04:07 -07:00
2020-07-13 15:32:56 -07:00
2020-06-24 07:51:01 +02:00