search for: multi_cpu_stop

Displaying 11 results from an estimated 11 matches for "multi_cpu_stop".

2016 Oct 21
3
[PATCH 2/5] stop_machine: yield CPU during stop machine
...; --- > 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....
2016 Oct 21
3
[PATCH 2/5] stop_machine: yield CPU during stop machine
...; --- > 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....
2016 Oct 25
0
[GIT PULL v2 2/5] stop_machine: yield CPU during stop machine
...e diag 44 calls for cpu_relax()"), but in fact the stop machine code seems to be the only place where this yielding was really necessary. This place is probably the most important one as it makes all but one guest CPUs wait for one guest CPU. As we now have cpu_relax_yield, we can use this in multi_cpu_stop. For now lets only add it here. We can add it later in other places when necessary. Signed-off-by: Christian Borntraeger <borntraeger at 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 in...
2014 Jun 22
1
[PATCH 11/11] qspinlock, kvm: Add paravirt support
...paravirt.h:744 #5 __pv_wait_head (lock=0xffffffff81eb0e58) at kernel/locking/qspinlock.c:352 Value of lock seem to be 524288 (means already unlocked?) So apart from races Waiman mentioned, are we also in need of smp_mb() here and/or native_queue_unlock()?. Interestingly I see other cpu stuck at multi_cpu_stop(). (gdb) thr 1 [Switching to thread 1 (Thread 1)]#0 multi_cpu_stop (data=0xffff8802140d1da0) at kernel/stop_machine.c:192 192 if (msdata->state != curstate) { Or is it I am missing something. please let me know if .config need to be shared. > + local_irq_save(flags); > + > + /*...
2014 Jun 22
1
[PATCH 11/11] qspinlock, kvm: Add paravirt support
...paravirt.h:744 #5 __pv_wait_head (lock=0xffffffff81eb0e58) at kernel/locking/qspinlock.c:352 Value of lock seem to be 524288 (means already unlocked?) So apart from races Waiman mentioned, are we also in need of smp_mb() here and/or native_queue_unlock()?. Interestingly I see other cpu stuck at multi_cpu_stop(). (gdb) thr 1 [Switching to thread 1 (Thread 1)]#0 multi_cpu_stop (data=0xffff8802140d1da0) at kernel/stop_machine.c:192 192 if (msdata->state != curstate) { Or is it I am missing something. please let me know if .config need to be shared. > + local_irq_save(flags); > + > + /*...
2016 Oct 22
1
[PATCH 2/5] stop_machine: yield CPU during stop machine
...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; > >...
2016 Oct 24
0
[PATCH 2/5] stop_machine: yield CPU during stop machine
...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-&g...
2016 Oct 25
7
[GIT PULL v2 0/5] cpu_relax: drop lowlatency, introduce yield
Peter, here is v2 with some improved patch descriptions and some fixes. The previous version has survived one day of linux-next and I only changed small parts. So unless there is some other issue, feel free to pull (or to apply the patches) to tip/locking. The following changes since commit 07d9a380680d1c0eb51ef87ff2eab5c994949e69: Linux 4.9-rc2 (2016-10-23 17:10:14 -0700) are available in
2016 Oct 25
7
[GIT PULL v2 0/5] cpu_relax: drop lowlatency, introduce yield
Peter, here is v2 with some improved patch descriptions and some fixes. The previous version has survived one day of linux-next and I only changed small parts. So unless there is some other issue, feel free to pull (or to apply the patches) to tip/locking. The following changes since commit 07d9a380680d1c0eb51ef87ff2eab5c994949e69: Linux 4.9-rc2 (2016-10-23 17:10:14 -0700) are available in
2014 Jun 15
28
[PATCH 00/11] qspinlock with paravirt support
Since Waiman seems incapable of doing simple things; here's my take on the paravirt crap. The first few patches are taken from Waiman's latest series, but the virt support is completely new. Its primary aim is to not mess up the native code. I've not stress tested it, but the virt and paravirt (kvm) cases boot on simple smp guests. I've not done Xen, but the patch should be
2014 Jun 15
28
[PATCH 00/11] qspinlock with paravirt support
Since Waiman seems incapable of doing simple things; here's my take on the paravirt crap. The first few patches are taken from Waiman's latest series, but the virt support is completely new. Its primary aim is to not mess up the native code. I've not stress tested it, but the virt and paravirt (kvm) cases boot on simple smp guests. I've not done Xen, but the patch should be