xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/6] Support calling functions on dedicated physical cpu
@ 2016-04-06 14:17 Juergen Gross
  0 siblings, 0 replies; 5+ messages in thread
From: Juergen Gross @ 2016-04-06 14:17 UTC (permalink / raw)
  To: linux-kernel, xen-devel
  Cc: Juergen Gross, jeremy, jdelvare, peterz, hpa, akataria, x86,
	rusty, virtualization, chrisw, mingo, david.vrabel,
	Douglas_Warzecha, pali.rohar, boris.ostrovsky, tglx, linux

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/6] Support calling functions on dedicated physical cpu
       [not found] <1459952266-3687-1-git-send-email-jgross@suse.com>
                   ` (2 preceding siblings ...)
  2016-06-20  8:40 ` Juergen Gross
@ 2016-06-27 10:34 ` Juergen Gross
  3 siblings, 0 replies; 5+ messages in thread
From: Juergen Gross @ 2016-06-27 10:34 UTC (permalink / raw)
  To: linux-kernel, xen-devel, david.vrabel
  Cc: jeremy, jdelvare, peterz, hpa, akataria, x86, rusty,
	virtualization, chrisw, mingo, Douglas_Warzecha, pali.rohar,
	boris.ostrovsky, tglx, linux

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.

David, as I've got no reactions when asking for the last outstanding
Acks (patches 2 and 5) and neither Ingo nor Peter seem to be willing
to take the patches, I'd like to suggest we carry the series via the
xen tree. Are you okay with this suggestion?


Juergen

> 
> 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
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/6] Support calling functions on dedicated physical cpu
       [not found] <1459952266-3687-1-git-send-email-jgross@suse.com>
  2016-04-13  8:49 ` Juergen Gross
       [not found] ` <570E07FD.4030403@suse.com>
@ 2016-06-20  8:40 ` Juergen Gross
  2016-06-27 10:34 ` Juergen Gross
  3 siblings, 0 replies; 5+ messages in thread
From: Juergen Gross @ 2016-06-20  8:40 UTC (permalink / raw)
  To: mingo, peterz
  Cc: x86, jeremy, jdelvare, hpa, akataria, linux-kernel, rusty,
	virtualization, chrisw, david.vrabel, Douglas_Warzecha,
	pali.rohar, xen-devel, boris.ostrovsky, tglx, linux

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.

Peter, Ingo,

is one of you considering to take this series for 4.8? I know not all
patches got an Ack, OTOH maintainers had 2.5 months time to object.

I'd really appreciate this series would make it into 4.8.


Juergen

> 
> 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
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/6] Support calling functions on dedicated physical cpu
       [not found] ` <570E07FD.4030403@suse.com>
@ 2016-05-17 11:21   ` Juergen Gross
  0 siblings, 0 replies; 5+ messages in thread
From: Juergen Gross @ 2016-05-17 11:21 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel
  Cc: jeremy, jdelvare, peterz, hpa, akataria, x86, rusty,
	virtualization, chrisw, mingo, david.vrabel, Douglas_Warzecha,
	pali.rohar, boris.ostrovsky, tglx, linux

On 13/04/16 10:49, Juergen Gross wrote:
> 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?

Patch 6 gained another Ack. What about 2 and 5?


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v5 0/6] Support calling functions on dedicated physical cpu
       [not found] <1459952266-3687-1-git-send-email-jgross@suse.com>
@ 2016-04-13  8:49 ` Juergen Gross
       [not found] ` <570E07FD.4030403@suse.com>
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Juergen Gross @ 2016-04-13  8:49 UTC (permalink / raw)
  To: linux-kernel, xen-devel
  Cc: jeremy, jdelvare, peterz, hpa, akataria, x86, rusty,
	virtualization, chrisw, mingo, david.vrabel, Douglas_Warzecha,
	pali.rohar, boris.ostrovsky, tglx, linux

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

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-06-27 10:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-06 14:17 [PATCH v5 0/6] Support calling functions on dedicated physical cpu Juergen Gross
     [not found] <1459952266-3687-1-git-send-email-jgross@suse.com>
2016-04-13  8:49 ` 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

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).