[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86, shadow: Avoid duplicates in fixup tables.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1229599705 0 # Node ID c2dad16819b54c2c4b2bb0e9e89f71c279eaf156 # Parent b33b745cd5ec3213feeb1d99e421e79cc5f12370 x86, shadow: Avoid duplicates in fixup tables. Avoid entering duplicates in fixup tables, reducing fixup evictions. Signed-off-by: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx> --- xen/arch/x86/mm/shadow/common.c | 9 +++++++++ 1 files changed, 9 insertions(+) diff -r b33b745cd5ec -r c2dad16819b5 xen/arch/x86/mm/shadow/common.c --- a/xen/arch/x86/mm/shadow/common.c Thu Dec 18 11:27:37 2008 +0000 +++ b/xen/arch/x86/mm/shadow/common.c Thu Dec 18 11:28:25 2008 +0000 @@ -627,6 +627,15 @@ void oos_fixup_add(struct vcpu *v, mfn_t idx = (idx + 1) % SHADOW_OOS_PAGES; if ( mfn_x(oos[idx]) == mfn_x(gmfn) ) { + int i; + for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ ) + { + if ( mfn_valid(oos_fixup[idx].smfn[i]) + && (mfn_x(oos_fixup[idx].smfn[i]) == mfn_x(smfn)) + && (oos_fixup[idx].off[i] == off) ) + return; + } + next = oos_fixup[idx].next; if ( mfn_x(oos_fixup[idx].smfn[next]) != INVALID_MFN ) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |