[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86 asid: Do not check for per-cpu asid state being already initialised.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1294419593 0
# Node ID 7932a9452b4fcc58a6bdb01ef628ad1557a49dcb
# Parent  82c205df44062aaa6f3ad2d22b5273e18ec3151e
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@xxxxxxx>
---
 xen/arch/x86/hvm/asid.c |    9 ---------
 1 files changed, 9 deletions(-)

diff -r 82c205df4406 -r 7932a9452b4f xen/arch/x86/hvm/asid.c
--- a/xen/arch/x86/hvm/asid.c   Fri Jan 07 14:13:15 2011 +0000
+++ b/xen/arch/x86/hvm/asid.c   Fri Jan 07 16:59:53 2011 +0000
@@ -52,7 +52,6 @@ struct hvm_asid_data {
    u32 next_asid;
    u32 max_asid;
    bool_t disabled;
-   bool_t initialised;
 };
 
 static DEFINE_PER_CPU(struct hvm_asid_data, hvm_asid_data);
@@ -61,14 +60,6 @@ void hvm_asid_init(int nasids)
 {
     static s8 g_disabled = -1;
     struct hvm_asid_data *data = &this_cpu(hvm_asid_data);
-
-    /*
-     * If already initialised, we just bump the generation to force a TLB
-     * flush. Resetting the generation could be dangerous, if VCPUs still
-     * exist that reference earlier generations on this CPU.
-     */
-    if ( test_and_set_bool(data->initialised) )
-        return hvm_asid_flush_core();
 
     data->max_asid = nasids - 1;
     data->disabled = (nasids <= 1);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.