debuggers.hg
changeset 22723:7932a9452b4f
x86 asid: Do not check for per-cpu asid state being already initialised.
It cannot be, since per-cpu data is re-allocated and zeroed across CPU
hotplug. Th ecomment about resetting teh per-cpu generation counter is
incorrect, since all vcpus must have been migrated to other cpus while
this cpu was offline, and that resets the per-vcpu generation stamp.
Signed-off-by: Keir Fraser <keir@xen.org>
It cannot be, since per-cpu data is re-allocated and zeroed across CPU
hotplug. Th ecomment about resetting teh per-cpu generation counter is
incorrect, since all vcpus must have been migrated to other cpus while
this cpu was offline, and that resets the per-vcpu generation stamp.
Signed-off-by: Keir Fraser <keir@xen.org>
author | Keir Fraser <keir@xen.org> |
---|---|
date | Fri Jan 07 16:59:53 2011 +0000 (2011-01-07) |
parents | 82c205df4406 |
children | 52b57a4781b4 |
files | xen/arch/x86/hvm/asid.c |
line diff
1.1 --- a/xen/arch/x86/hvm/asid.c Fri Jan 07 14:13:15 2011 +0000 1.2 +++ b/xen/arch/x86/hvm/asid.c Fri Jan 07 16:59:53 2011 +0000 1.3 @@ -52,7 +52,6 @@ struct hvm_asid_data { 1.4 u32 next_asid; 1.5 u32 max_asid; 1.6 bool_t disabled; 1.7 - bool_t initialised; 1.8 }; 1.9 1.10 static DEFINE_PER_CPU(struct hvm_asid_data, hvm_asid_data); 1.11 @@ -62,14 +61,6 @@ void hvm_asid_init(int nasids) 1.12 static s8 g_disabled = -1; 1.13 struct hvm_asid_data *data = &this_cpu(hvm_asid_data); 1.14 1.15 - /* 1.16 - * If already initialised, we just bump the generation to force a TLB 1.17 - * flush. Resetting the generation could be dangerous, if VCPUs still 1.18 - * exist that reference earlier generations on this CPU. 1.19 - */ 1.20 - if ( test_and_set_bool(data->initialised) ) 1.21 - return hvm_asid_flush_core(); 1.22 - 1.23 data->max_asid = nasids - 1; 1.24 data->disabled = (nasids <= 1); 1.25