diff options
author | Yan Zhao <yan.y.zhao@intel.com> | 2024-03-09 04:09:27 +0300 |
---|---|---|
committer | Sean Christopherson <seanjc@google.com> | 2024-06-07 17:17:51 +0300 |
commit | f05eda16037f9363297561bd28f318a6d7833d35 (patch) | |
tree | 49f796b2db7521b3f1128ce38a58d4a4dee67576 /scripts/generate_rust_analyzer.py | |
parent | e1548088ff544e4a4ae2c960bccf0eeff3a46297 (diff) | |
download | linux-f05eda16037f9363297561bd28f318a6d7833d35.tar.xz |
srcu: Add an API for a memory barrier after SRCU read lock
To avoid redundant memory barriers, add smp_mb__after_srcu_read_lock() to
pair with smp_mb__after_srcu_read_unlock() for use in paths that need to
emit a memory barrier, but already do srcu_read_lock(), which includes a
full memory barrier. Provide an API, e.g. as opposed to having callers
document the behavior via a comment, as the full memory barrier provided
by srcu_read_lock() is an implementation detail that shouldn't bleed into
random subsystems.
KVM will use smp_mb__after_srcu_read_lock() in it's VM-Exit path to ensure
a memory barrier is emitted, which is necessary to ensure correctness of
mixed memory types on CPUs that support self-snoop.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
[sean: massage changelog]
Tested-by: Xiangfei Ma <xiangfeix.ma@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org
Link: https://lore.kernel.org/r/20240309010929.1403984-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions