From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
jeremy@goop.org, jdelvare@suse.com, peterz@infradead.org,
hpa@zytor.com, akataria@vmware.com, x86@kernel.org,
rusty@rustcorp.com.au, virtualization@lists.linux-foundation.org,
chrisw@sous-sol.org, mingo@redhat.com, david.vrabel@citrix.com,
Douglas_Warzecha@dell.com, pali.rohar@gmail.com,
boris.ostrovsky@oracle.com, tglx@linutronix.de,
linux@roeck-us.net
Subject: [PATCH v5 0/6] Support calling functions on dedicated physical cpu
Date: Wed, 6 Apr 2016 16:17:40 +0200 [thread overview]
Message-ID: <1459952266-3687-1-git-send-email-jgross__7861.68297422609$1459952360$gmane$org@suse.com> (raw)
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
--
2.6.6
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next reply other threads:[~2016-04-06 14:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-06 14:17 Juergen Gross [this message]
[not found] <1459952266-3687-1-git-send-email-jgross@suse.com>
2016-04-13 8:49 ` [PATCH v5 0/6] Support calling functions on dedicated physical cpu Juergen Gross
[not found] ` <570E07FD.4030403@suse.com>
2016-05-17 11:21 ` Juergen Gross
2016-06-20 8:40 ` Juergen Gross
2016-06-27 10:34 ` Juergen Gross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='1459952266-3687-1-git-send-email-jgross__7861.68297422609$1459952360$gmane$org@suse.com' \
--to=jgross@suse.com \
--cc=Douglas_Warzecha@dell.com \
--cc=akataria@vmware.com \
--cc=boris.ostrovsky@oracle.com \
--cc=chrisw@sous-sol.org \
--cc=david.vrabel@citrix.com \
--cc=hpa@zytor.com \
--cc=jdelvare@suse.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mingo@redhat.com \
--cc=pali.rohar@gmail.com \
--cc=peterz@infradead.org \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=virtualization@lists.linux-foundation.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).