On 06/04/16 16:17, Juergen Gross wrote: > Some hardware (e.g. Dell Studio laptops) require special functions to > be called on physical cpu 0 in order to avoid occasional hangs. When > running as dom0 under Xen this could be achieved only via special boot > parameters (vcpu pinning) limiting the hypervisor in it's scheduling > decisions. > > This patch series is adding a generic function to be able to temporarily > pin a (virtual) cpu to a dedicated physical cpu for executing above > mentioned functions on that specific cpu. The drivers (dcdbas and i8k) > requiring this functionality are modified accordingly. > > Changes in V5: > - patch 3: rename and reshuffle parameters of smp_call_on_cpu() as requested > by Peter Zijlstra > - patch 3: test target cpu to be online as requested by Peter Zijlstra > - patch 4: less wordy messages as requested by David Vrabel > > Changes in V4: > - move patches 5 and 6 further up in the series > - patch 2 (was 5): WARN_ONCE in case platform doesn't support pinning > as requested by Peter Zijlstra > - patch 3 (was 2): change return value in case of illegal cpu as > requested by Peter Zijlstra > - patch 3 (was 2): make pinning of vcpu an option as suggested by > Peter Zijlstra > - patches 5 and 6 (were 3 and 4): add call to get_online_cpus() > > Changes in V3: > - use get_cpu()/put_cpu() as suggested by David Vrabel > > Changes in V2: > - instead of manipulating the allowed set of cpus use cpu specific > workqueue as requested by Peter Zijlstra > - add include/linux/hypervisor.h to hide architecture specific stuff > from generic kernel code > > Juergen Gross (6): > xen: sync xen header > virt, sched: add generic vcpu pinning support > smp: add function to execute a function synchronously on a cpu > xen: add xen_pin_vcpu() to support calling functions on a dedicated > pcpu > dcdbas: make use of smp_call_on_cpu() > hwmon: use smp_call_on_cpu() for dell-smm i8k > > MAINTAINERS | 1 + > arch/x86/include/asm/hypervisor.h | 4 ++ > arch/x86/kernel/cpu/hypervisor.c | 11 +++++ > arch/x86/xen/enlighten.c | 40 +++++++++++++++ > drivers/firmware/dcdbas.c | 51 +++++++++---------- > drivers/hwmon/dell-smm-hwmon.c | 35 +++++++------ > include/linux/hypervisor.h | 17 +++++++ > include/linux/smp.h | 3 ++ > include/xen/interface/sched.h | 100 +++++++++++++++++++++++++++++++------- > kernel/smp.c | 51 +++++++++++++++++++ > kernel/up.c | 18 +++++++ > 11 files changed, 273 insertions(+), 58 deletions(-) > create mode 100644 include/linux/hypervisor.h > So patches 1, 3 and 4 are acked. Any comments regarding patches 2, 5 and 6? Juergen _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization