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

[Xen-devel] [PATCH RFC 0/4] Use INVPCID to flush global mappings

I wrote these patches sometime ago to explore PCID and INVPCID. I haven't
thought through whether how to use both in Xen yet. But seeing Juergen laid out
his thought on PCID and INVPCID I think some of the patches can be useful.

I had done some benchmark on the speed in one of my older branch by inserting
some trace points before and after the flush. It showed that twiddling CR4.PGE
is 3 to 5 times slower than invpcid.

This series is in incomplete -- obviously we have CR4.PGE twiddling in a few
other places. But if you think it is beneficial I can try to convert those
places as well.


Wei Liu (4):
  x86: introduce cpu_has_invpcid
  x86: report if PCID and INVPCID are supported
  x86: add invpcid.h
  x86: use invpcid to do global flush

 xen/arch/x86/flushtlb.c          | 22 ++++++++++++---
 xen/arch/x86/setup.c             |  7 +++++
 xen/include/asm-x86/cpufeature.h |  1 +
 xen/include/asm-x86/invpcid.h    | 61 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+), 4 deletions(-)
 create mode 100644 xen/include/asm-x86/invpcid.h


Xen-devel mailing list



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