diff options
author | Alex,Shi <alex.shi@intel.com> | 2011-10-20 03:34:01 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-12-27 04:22:13 -0500 |
commit | 086c9855019935854311b477b33498a6ea357ef6 (patch) | |
tree | dd08778f0d85bb2ec8198a8d2704b09555c64e0d /arch/x86/kvm/x86.c | |
parent | e37fa7853c276403da2fea8792c579e8bfd75042 (diff) |
KVM: use this_cpu_xxx replace percpu_xxx funcs
percpu_xxx funcs are duplicated with this_cpu_xxx funcs, so replace them
for further code clean up.
And in preempt safe scenario, __this_cpu_xxx funcs has a bit better
performance since __this_cpu_xxx has no redundant preempt_disable()
Signed-off-by: Alex Shi <alex.shi@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r-- | arch/x86/kvm/x86.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index d99976e4451e..d55a94f1155a 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -4664,15 +4664,15 @@ static DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu); | |||
4664 | 4664 | ||
4665 | static int kvm_is_in_guest(void) | 4665 | static int kvm_is_in_guest(void) |
4666 | { | 4666 | { |
4667 | return percpu_read(current_vcpu) != NULL; | 4667 | return __this_cpu_read(current_vcpu) != NULL; |
4668 | } | 4668 | } |
4669 | 4669 | ||
4670 | static int kvm_is_user_mode(void) | 4670 | static int kvm_is_user_mode(void) |
4671 | { | 4671 | { |
4672 | int user_mode = 3; | 4672 | int user_mode = 3; |
4673 | 4673 | ||
4674 | if (percpu_read(current_vcpu)) | 4674 | if (__this_cpu_read(current_vcpu)) |
4675 | user_mode = kvm_x86_ops->get_cpl(percpu_read(current_vcpu)); | 4675 | user_mode = kvm_x86_ops->get_cpl(__this_cpu_read(current_vcpu)); |
4676 | 4676 | ||
4677 | return user_mode != 0; | 4677 | return user_mode != 0; |
4678 | } | 4678 | } |
@@ -4681,8 +4681,8 @@ static unsigned long kvm_get_guest_ip(void) | |||
4681 | { | 4681 | { |
4682 | unsigned long ip = 0; | 4682 | unsigned long ip = 0; |
4683 | 4683 | ||
4684 | if (percpu_read(current_vcpu)) | 4684 | if (__this_cpu_read(current_vcpu)) |
4685 | ip = kvm_rip_read(percpu_read(current_vcpu)); | 4685 | ip = kvm_rip_read(__this_cpu_read(current_vcpu)); |
4686 | 4686 | ||
4687 | return ip; | 4687 | return ip; |
4688 | } | 4688 | } |
@@ -4695,13 +4695,13 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = { | |||
4695 | 4695 | ||
4696 | void kvm_before_handle_nmi(struct kvm_vcpu *vcpu) | 4696 | void kvm_before_handle_nmi(struct kvm_vcpu *vcpu) |
4697 | { | 4697 | { |
4698 | percpu_write(current_vcpu, vcpu); | 4698 | __this_cpu_write(current_vcpu, vcpu); |
4699 | } | 4699 | } |
4700 | EXPORT_SYMBOL_GPL(kvm_before_handle_nmi); | 4700 | EXPORT_SYMBOL_GPL(kvm_before_handle_nmi); |
4701 | 4701 | ||
4702 | void kvm_after_handle_nmi(struct kvm_vcpu *vcpu) | 4702 | void kvm_after_handle_nmi(struct kvm_vcpu *vcpu) |
4703 | { | 4703 | { |
4704 | percpu_write(current_vcpu, NULL); | 4704 | __this_cpu_write(current_vcpu, NULL); |
4705 | } | 4705 | } |
4706 | EXPORT_SYMBOL_GPL(kvm_after_handle_nmi); | 4706 | EXPORT_SYMBOL_GPL(kvm_after_handle_nmi); |
4707 | 4707 | ||