Hello, Following series contain some fixes for cache control operations, the main focus is to reduce the load on big systems when cache control operations are executed.
Patches 1-4 are bugfixes, while patches starting from 5 are improvements to the current code. Patch 9 is an optimization to avoid having to broadcast cache flushes on all pCPUs on x86. Thanks, Roger. Roger Pau Monne (9): x86/pv: fix MMUEXT_FLUSH_CACHE to flush all pCPU caches x86/pv: fix emulation of wb{,no}invd to flush all pCPU caches xen/gnttab: limit cache flush operation to guests allowed cache control x86/gnttab: do not implement GNTTABOP_cache_flush x86/mtrr: use memory_type_changed() in hvm_set_mem_pinned_cacheattr() x86/p2m: limit cache flush in memory_type_changed() xen/x86: rename cache_flush_permitted() to has_arch_io_resources() xen: introduce flag when a domain requires cache control xen/x86: track dirty pCPU caches for a given vCPU docs/man/xl.cfg.5.pod.in | 10 +++++++ tools/include/libxl.h | 7 +++++ tools/libs/light/libxl_create.c | 6 ++++ tools/libs/light/libxl_types.idl | 3 ++ tools/ocaml/libs/xc/xenctrl.ml | 1 + tools/ocaml/libs/xc/xenctrl.mli | 1 + tools/xl/xl_parse.c | 2 ++ xen/arch/arm/dom0less-build.c | 12 ++++++-- xen/arch/arm/domain.c | 3 +- xen/arch/arm/domain_build.c | 6 ++++ xen/arch/x86/domain.c | 43 +++++++++++++++++++++++++++++ xen/arch/x86/hvm/hvm.c | 2 +- xen/arch/x86/hvm/mtrr.c | 29 ++++--------------- xen/arch/x86/hvm/svm/svm.c | 6 ++-- xen/arch/x86/hvm/vmx/vmcs.c | 3 +- xen/arch/x86/hvm/vmx/vmx.c | 6 ++-- xen/arch/x86/include/asm/domain.h | 9 ++++++ xen/arch/x86/include/asm/flushtlb.h | 15 ---------- xen/arch/x86/include/asm/iocap.h | 19 ++----------- xen/arch/x86/include/asm/p2m.h | 2 +- xen/arch/x86/mm.c | 21 ++++---------- xen/arch/x86/mm/p2m-ept.c | 7 +---- xen/arch/x86/mm/p2m-pod.c | 4 +-- xen/arch/x86/mm/p2m.c | 13 ++++++++- xen/arch/x86/pv/emul-priv-op.c | 19 ++++++------- xen/arch/x86/setup.c | 7 +++++ xen/common/domain.c | 3 +- xen/common/grant_table.c | 11 ++++++++ xen/common/memory.c | 2 +- xen/include/asm-generic/iocap.h | 2 +- xen/include/public/domctl.h | 4 ++- xen/include/xen/iocap.h | 25 ++--------------- xen/include/xen/sched.h | 6 ++++ 33 files changed, 181 insertions(+), 128 deletions(-) -- 2.48.1