[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 00/12] x86: indirect call overhead reduction
>>> On 29.08.18 at 15:55, <JBeulich@xxxxxxxx> wrote: > While indirect calls have always been more expensive than direct ones, > their cost has further increased with the Spectre v2 mitigations. In a > number of cases we simply pointlessly use them in the first place. In > many other cases the indirection solely exists to abstract from e.g. > vendor specific hardware details, and hence the pointers used never > change once set. Here we can use alternatives patching to get rid of > the indirection. > > From patch 2 onwards dependencies exist on earlier, yet to be reviewed Oh, this was definitely meant to be "From patch 3 onwards ...". Jan > patches ("x86/alternatives: fully leverage automatic NOP filling" as well > as the "x86: improve PDX <-> PFN and alike translations" series at the > very least). I nevertheless wanted to enable a first round of review of > the series, the more that some of the patches (not just initial ones) > could perhaps be taken irrespective of those dependencies. The first > two of the three genapic patches, otoh, are entirely independent and > could go in right away afaict if they were ack-ed. > > Further areas where indirect calls could be eliminated (and that I've put > on my todo list in case the general concept here is deemed reasonable) > are IOMMU, vPMU, and XSM. For some of these, the ARM side would > need dealing with as well - I'm not sure whether replacing indirect calls > by direct ones is worthwhile there as well; if not, the wrappers would > simply need to become function invocations in the ARM case (as was > already asked for in the IOMMU case). > > 01: VMX: reduce number of posted-interrupt hooks > 02: x86/alternatives: allow using assembler macros in favor of C ones > 03: x86: infrastructure to allow converting certain indirect calls to direct > ones > 04: x86/HVM: patch indirect calls through hvm_funcs to direct ones > 05: x86/HVM: patch vINTR indirect calls through hvm_funcs to direct ones > 06: x86: patch ctxt_switch_masking() indirect call to direct one > 07: x86/genapic: drop .target_cpus() hook > 08: x86/genapic: remove indirection from genapic hook accesses > 09: x86/genapic: patch indirect calls to direct ones > 10: x86/cpuidle: patch some indirect calls to direct ones > 11: cpufreq: convert to a single post-init driver (hooks) instance > 12: cpufreq: patch target() indirect call to direct one > > Jan > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |