lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20170216160449.13094-4-rkrcmar@redhat.com> Date: Thu, 16 Feb 2017 17:04:47 +0100 From: Radim Krčmář <rkrcmar@...hat.com> To: linux-kernel@...r.kernel.org, kvm@...r.kernel.org Cc: Paolo Bonzini <pbonzini@...hat.com>, Andrew Jones <drjones@...hat.com>, Marc Zyngier <marc.zyngier@....com>, Christian Borntraeger <borntraeger@...ibm.com>, Cornelia Huck <cornelia.huck@...ibm.com>, James Hogan <james.hogan@...tec.com>, Paul Mackerras <paulus@...abs.org>, Christoffer Dall <christoffer.dall@...aro.org> Subject: [PATCH 3/5] KVM: optimize kvm_make_all_cpus_request Use __kvm_request_set to avoid repeated use of wmb(). kvm_make_all_cpus_request is also a candidate for renaming. Signed-off-by: Radim Krčmář <rkrcmar@...hat.com> --- virt/kvm/kvm_main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 934f135c0d23..2250920ec965 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -177,8 +177,12 @@ bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) zalloc_cpumask_var(&cpus, GFP_ATOMIC); me = get_cpu(); + + /* Paired with the smp_mb__after_atomic in kvm_request_test_and_clear. */ + smp_wmb(); + kvm_for_each_vcpu(i, vcpu, kvm) { - kvm_request_set(req, vcpu); + __kvm_request_set(req, vcpu); cpu = vcpu->cpu; /* Set ->requests bit before we read ->mode. */ -- 2.11.1
Powered by blists - more mailing lists