shadow: Fix TLB flushing in the second pass of sh_prealloc() in the

case where multiple vcpus use the same pagetables.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
This commit is contained in:
Keir Fraser committed 2008-04-25 13:27:19 +01:00
1 parent d5a22fa12f
commit 4da59282e0
1 file changed
+1 -3
+1 -3
View File
@@ -781,7 +781,6 @@ static void _shadow_prealloc(
struct vcpu *v, *v2;
struct list_head *l, *t;
struct shadow_page_info *sp;
cpumask_t flushmask = CPU_MASK_NONE;
mfn_t smfn;
int i;
@@ -819,12 +818,11 @@ static void _shadow_prealloc(
{
shadow_unhook_mappings(v,
pagetable_get_mfn(v2->arch.shadow_table[i]));
cpus_or(flushmask, v2->vcpu_dirty_cpumask, flushmask);
/* See if that freed up enough space */
if ( space_is_available(d, order, count) )
{
flush_tlb_mask(flushmask);
flush_tlb_mask(d->domain_dirty_cpumask);
return;
}
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.