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 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 cod Juergen Gross (6): xen: sync xen header smp: add function to execute a function synchronously on a physical cpu dcdbas: make use of smp_call_sync_on_phys_cpu() hwmon: use smp_call_sync_on_phys_cpu() for dell-smm i8k virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu() xen: add xen_pin_vcpu() to support calling functions on a dedicated pcpu MAINTAINERS | 1 + arch/x86/include/asm/hypervisor.h | 9 ++++ arch/x86/xen/enlighten.c | 40 +++++++++++++++ drivers/firmware/dcdbas.c | 46 ++++++++---------- drivers/hwmon/dell-smm-hwmon.c | 27 +++++----- include/linux/hypervisor.h | 17 +++++++ include/linux/smp.h | 2 + include/xen/interface/sched.h | 100 +++++++++++++++++++++++++++++++------- kernel/smp.c | 50 +++++++++++++++++++ kernel/up.c | 18 +++++++ 10 files changed, 251 insertions(+), 59 deletions(-) create mode 100644 include/linux/hypervisor.h -- 2.6.2 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization