Messages in this thread |  | | Date | Fri, 21 Oct 2016 14:05:36 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 2/5] stop_machine: yield CPU during stop machine |
| |
On Fri, Oct 21, 2016 at 01:58:55PM +0200, Christian Borntraeger wrote: > stop_machine can take a very long time if the hypervisor does > overcommitment for guest CPUs. When waiting for "the one", lets > give up our CPU by using the new cpu_relax_yield.
This seems something that would apply to most other virt stuff. Lets Cc a few more lists for that.
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > kernel/stop_machine.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c > index ec9ab2f..1eb8266 100644 > --- a/kernel/stop_machine.c > +++ b/kernel/stop_machine.c > @@ -194,7 +194,7 @@ static int multi_cpu_stop(void *data) > /* Simple state machine */ > do { > /* Chill out and ensure we re-read multi_stop_state. */ > - cpu_relax(); > + cpu_relax_yield(); > if (msdata->state != curstate) { > curstate = msdata->state; > switch (curstate) { > -- > 2.5.5 >
|  |