Displaying 6 results from an estimated 6 matches for "try_to_freeze_tasks".
2016 Apr 01
2
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
...f the construct. At
> > this point you might as well use the regular IPI stuff.
>
> Main reason for disabling preemption was to avoid any suspend/resume
> cycles while vcpu pinning is active.
>
> With the switch to workqueues this might not be necessary, if I've read
> try_to_freeze_tasks() correctly. Can you confirm, please?
This is not something we should worry about; the caller should ensure
the CPU stays valid; typically I would expect a caller to do
get_online_cpus() before 'computing' what CPU to send the function to.
> > So I would propose you add:
> >...
2016 Apr 01
2
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
...f the construct. At
> > this point you might as well use the regular IPI stuff.
>
> Main reason for disabling preemption was to avoid any suspend/resume
> cycles while vcpu pinning is active.
>
> With the switch to workqueues this might not be necessary, if I've read
> try_to_freeze_tasks() correctly. Can you confirm, please?
This is not something we should worry about; the caller should ensure
the CPU stays valid; typically I would expect a caller to do
get_online_cpus() before 'computing' what CPU to send the function to.
> > So I would propose you add:
> >...
2016 Apr 01
2
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
On Fri, Apr 01, 2016 at 09:14:33AM +0200, Juergen Gross wrote:
> --- a/kernel/smp.c
> +++ b/kernel/smp.c
> @@ -14,6 +14,7 @@
> #include <linux/smp.h>
> #include <linux/cpu.h>
> #include <linux/sched.h>
> +#include <linux/hypervisor.h>
>
> #include "smpboot.h"
>
> @@ -758,9 +759,14 @@ struct smp_sync_call_struct {
>
2016 Apr 01
2
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
On Fri, Apr 01, 2016 at 09:14:33AM +0200, Juergen Gross wrote:
> --- a/kernel/smp.c
> +++ b/kernel/smp.c
> @@ -14,6 +14,7 @@
> #include <linux/smp.h>
> #include <linux/cpu.h>
> #include <linux/sched.h>
> +#include <linux/hypervisor.h>
>
> #include "smpboot.h"
>
> @@ -758,9 +759,14 @@ struct smp_sync_call_struct {
>
2016 Apr 01
0
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
...which greatly limits the utility of the construct. At
> this point you might as well use the regular IPI stuff.
Main reason for disabling preemption was to avoid any suspend/resume
cycles while vcpu pinning is active.
With the switch to workqueues this might not be necessary, if I've read
try_to_freeze_tasks() correctly. Can you confirm, please?
> You can easily avoid this constraint by using:
>
> hypervisor_pin_vcpu(smp_processor_id());
>
> Also, for the vpinning stuff, the UP version below is sufficient, even
> on SMP systems (with the current !preempt constraint). Which seems t...
2016 Apr 01
0
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
...gt;> this point you might as well use the regular IPI stuff.
>>
>> Main reason for disabling preemption was to avoid any suspend/resume
>> cycles while vcpu pinning is active.
>>
>> With the switch to workqueues this might not be necessary, if I've read
>> try_to_freeze_tasks() correctly. Can you confirm, please?
>
> This is not something we should worry about; the caller should ensure
> the CPU stays valid; typically I would expect a caller to do
> get_online_cpus() before 'computing' what CPU to send the function to.
Okay.
>
>>> So...