[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [PATCH v6 0/9] xen: drop hypercall function tables
Hi, It seems that this series has been stale for more than 3 months, with: Patch #1 merged. Patch #2 need feedback regarding the kexec and argo changes. Patch #3 #4 #5 #6 #7 #8 #9 reviewed/acked. So sending this as a gentle reminder for kexec and argo maintainers. Thanks! Kind regards, Henry > -----Original Message----- > Subject: [PATCH v6 0/9] xen: drop hypercall function tables > > In order to avoid indirect function calls on the hypercall path as > much as possible this series is removing the hypercall function tables > and is replacing the hypercall handler calls via the function array > by automatically generated call macros. > > Another by-product of generating the call macros is the automatic > generating of the hypercall handler prototypes from the same data base > which is used to generate the macros. > > This has the additional advantage of using type safe calls of the > handlers and to ensure related handler (e.g. PV and HVM ones) share > the same prototypes. > > A very brief performance test (parallel build of the Xen hypervisor > in a 6 vcpu guest) showed a very slim improvement (less than 1%) of > the performance with the patches applied. The test was performed using > a PV and a PVH guest. > > Changes in V2: > - new patches 6, 14, 15 > - patch 7: support hypercall priorities for faster code > - comments addressed > > Changes in V3: > - patches 1 and 4 removed as already applied > - comments addressed > > Changes in V4: > - 5 patches removed al already applied > - new patches 1, 3 and 11 > - avoid switching Arm hypercall handlers to return long (no change of > handlers returning long already) > > Changes in V5: > - patch 3 of V4 has been applied already > - comments addressed > - rebase > > Changes in V6: > - patch 1 of V5 has been applied already > - fix of a rebase artifact > > Juergen Gross (9): > xen: move do_vcpu_op() to arch specific code > xen: harmonize return types of hypercall handlers > xen: don't include asm/hypercall.h from C sources > xen: include compat/platform.h from hypercall.h > xen: generate hypercall interface related code > xen: use generated prototypes for hypercall handlers > xen/x86: call hypercall handlers via generated macro > xen/arm: call hypercall handlers via generated macro > xen/x86: remove cf_check attribute from hypercall handlers > > .gitignore | 1 + > xen/arch/arm/domain.c | 15 +- > xen/arch/arm/hvm.c | 3 +- > xen/arch/arm/include/asm/hypercall.h | 7 +- > xen/arch/arm/platform_hypercall.c | 1 + > xen/arch/arm/traps.c | 117 ++------- > xen/arch/x86/compat.c | 6 +- > xen/arch/x86/cpu/mcheck/mce.c | 2 +- > xen/arch/x86/cpu/vpmu.c | 3 +- > xen/arch/x86/domain.c | 11 +- > xen/arch/x86/domctl.c | 4 +- > xen/arch/x86/hvm/dm.c | 2 +- > xen/arch/x86/hvm/hvm.c | 2 +- > xen/arch/x86/hvm/hypercall.c | 177 ++----------- > xen/arch/x86/hypercall.c | 59 ----- > xen/arch/x86/include/asm/hypercall.h | 201 ++++----------- > xen/arch/x86/include/asm/paging.h | 3 - > xen/arch/x86/mm.c | 13 +- > xen/arch/x86/mm/paging.c | 3 +- > xen/arch/x86/physdev.c | 2 +- > xen/arch/x86/platform_hypercall.c | 3 +- > xen/arch/x86/pv/callback.c | 26 +- > xen/arch/x86/pv/descriptor-tables.c | 8 +- > xen/arch/x86/pv/emul-priv-op.c | 2 +- > xen/arch/x86/pv/hypercall.c | 187 ++------------ > xen/arch/x86/pv/iret.c | 5 +- > xen/arch/x86/pv/misc-hypercalls.c | 22 +- > xen/arch/x86/pv/shim.c | 4 +- > xen/arch/x86/traps.c | 2 +- > xen/arch/x86/x86_64/compat/mm.c | 3 +- > xen/arch/x86/x86_64/domain.c | 16 +- > xen/arch/x86/x86_64/mm.c | 2 - > xen/arch/x86/x86_64/platform_hypercall.c | 1 - > xen/common/argo.c | 8 +- > xen/common/compat/domain.c | 15 +- > xen/common/compat/grant_table.c | 3 +- > xen/common/compat/kernel.c | 2 +- > xen/common/compat/memory.c | 3 +- > xen/common/dm.c | 2 +- > xen/common/domain.c | 14 +- > xen/common/domctl.c | 2 +- > xen/common/event_channel.c | 3 +- > xen/common/grant_table.c | 4 +- > xen/common/hypfs.c | 2 +- > xen/common/kernel.c | 2 +- > xen/common/kexec.c | 6 +- > xen/common/memory.c | 2 +- > xen/common/multicall.c | 4 +- > xen/common/sched/compat.c | 2 +- > xen/common/sched/core.c | 4 +- > xen/common/sysctl.c | 2 +- > xen/common/xenoprof.c | 2 +- > xen/drivers/char/console.c | 2 +- > xen/include/Makefile | 13 + > xen/include/hypercall-defs.c | 285 ++++++++++++++++++++ > xen/include/xen/hypercall.h | 185 +------------ > xen/scripts/gen_hypercall.awk | 314 +++++++++++++++++++++++ > xen/xsm/xsm_core.c | 4 +- > 58 files changed, 861 insertions(+), 937 deletions(-) > create mode 100644 xen/include/hypercall-defs.c > create mode 100644 xen/scripts/gen_hypercall.awk > > -- > 2.34.1 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |