[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [XEN][POWERPC] U4 DART workaround for functionality
# HG changeset patch # User Jimi Xenidis <jimix@xxxxxxxxxxxxxx> # Node ID 97e1d0fd7def382ff521d2997eadc942ee831445 # Parent 539355c03a302caa14b8e5690ffb30d3e25be888 [XEN][POWERPC] U4 DART workaround for functionality This patch invalidates the whole DART cache rather than the single entry. Until we get single entry invalidating we'll have an obvious performance issue. Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx> Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx> --- xen/arch/powerpc/dart_u4.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -r 539355c03a30 -r 97e1d0fd7def xen/arch/powerpc/dart_u4.c --- a/xen/arch/powerpc/dart_u4.c Tue Sep 26 12:44:20 2006 -0400 +++ b/xen/arch/powerpc/dart_u4.c Tue Sep 26 14:01:11 2006 -0400 @@ -19,6 +19,7 @@ */ #undef DEBUG +#define INVALIDATE_ALL #include <xen/config.h> #include <xen/types.h> @@ -123,8 +124,13 @@ static void u4_inv_all(void) static void u4_inv_entry(ulong pgn) { +#ifdef INVALIDATE_ALL + return u4_inv_all(); +#else union dart_ctl dc; ulong retries = 0; + + return u4_inv_all(); dc.dc_word = in_32(&dart->d_dartcntl.dc_word); dc.dc_bits.dc_ilpn = pgn; @@ -139,6 +145,7 @@ static void u4_inv_entry(ulong pgn) if (retries > 1000000) panic("WAY! too long\n"); } while (dc.dc_bits.dc_ione != 0); +#endif } static struct dart_ops u4_ops = { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |