Displaying 20 results from an estimated 10000 matches similar to: "[PATCH/RFC 0/5] cpu_relax: introduce yield, remove lowlatency"
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
2016 Nov 15
2
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
On Tue, Oct 25, 2016 at 11:03:11AM +0200, Christian Borntraeger wrote:
> For spinning loops people do often use barrier() or cpu_relax().
> For most architectures cpu_relax and barrier are the same, but on
> some architectures cpu_relax can add some latency.
> For example on power,sparc64 and arc, cpu_relax can shift the CPU
> towards other hardware threads in an SMT environment.
2016 Nov 15
2
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
On Tue, Oct 25, 2016 at 11:03:11AM +0200, Christian Borntraeger wrote:
> For spinning loops people do often use barrier() or cpu_relax().
> For most architectures cpu_relax and barrier are the same, but on
> some architectures cpu_relax can add some latency.
> For example on power,sparc64 and arc, cpu_relax can shift the CPU
> towards other hardware threads in an SMT environment.
2016 Nov 15
1
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
On Tue, Nov 15, 2016 at 02:19:53PM +0100, Christian Borntraeger wrote:
> On 11/15/2016 01:30 PM, Russell King - ARM Linux wrote:
> > On Tue, Oct 25, 2016 at 11:03:11AM +0200, Christian Borntraeger wrote:
> >> For spinning loops people do often use barrier() or cpu_relax().
> >> For most architectures cpu_relax and barrier are the same, but on
> >> some
2016 Nov 15
1
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
On Tue, Nov 15, 2016 at 02:19:53PM +0100, Christian Borntraeger wrote:
> On 11/15/2016 01:30 PM, Russell King - ARM Linux wrote:
> > On Tue, Oct 25, 2016 at 11:03:11AM +0200, Christian Borntraeger wrote:
> >> For spinning loops people do often use barrier() or cpu_relax().
> >> For most architectures cpu_relax and barrier are the same, but on
> >> some
2016 Oct 21
3
[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:
2016 Oct 21
3
[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:
2016 Oct 25
0
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
For spinning loops people do often use barrier() or cpu_relax().
For most architectures cpu_relax and barrier are the same, but on
some architectures cpu_relax can add some latency.
For example on power,sparc64 and arc, cpu_relax can shift the CPU
towards other hardware threads in an SMT environment.
On s390 cpu_relax does even more, it uses an hypercall to the
hypervisor to give up the timeslice.
2016 Nov 15
0
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
On 11/15/2016 02:37 PM, Russell King - ARM Linux wrote:
> On Tue, Nov 15, 2016 at 02:19:53PM +0100, Christian Borntraeger wrote:
>> On 11/15/2016 01:30 PM, Russell King - ARM Linux wrote:
>>> On Tue, Oct 25, 2016 at 11:03:11AM +0200, Christian Borntraeger wrote:
>>>> For spinning loops people do often use barrier() or cpu_relax().
>>>> For most
2016 Nov 16
2
[PATCH 1/1] sched: provide common cpu_relax_yield definition
No need to duplicate the same define everywhere. Since
the only user is stop-machine and the only provider is
s390, we can use a default implementation of cpu_relax_yield
in sched.h.
Suggested-by: Russell King <linux at armlinux.org.uk>
Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
---
arch/alpha/include/asm/processor.h | 1 -
arch/arc/include/asm/processor.h
2016 Nov 16
2
[PATCH 1/1] sched: provide common cpu_relax_yield definition
No need to duplicate the same define everywhere. Since
the only user is stop-machine and the only provider is
s390, we can use a default implementation of cpu_relax_yield
in sched.h.
Suggested-by: Russell King <linux at armlinux.org.uk>
Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
---
arch/alpha/include/asm/processor.h | 1 -
arch/arc/include/asm/processor.h
2016 Nov 15
0
[GIT PULL v2 1/5] processor.h: introduce cpu_relax_yield
On 11/15/2016 01:30 PM, Russell King - ARM Linux wrote:
> On Tue, Oct 25, 2016 at 11:03:11AM +0200, Christian Borntraeger wrote:
>> For spinning loops people do often use barrier() or cpu_relax().
>> For most architectures cpu_relax and barrier are the same, but on
>> some architectures cpu_relax can add some latency.
>> For example on power,sparc64 and arc, cpu_relax
2016 Oct 25
0
[GIT PULL v2 3/5] s390: make cpu_relax a barrier again
stop_machine seemed to be the only important place for yielding during
cpu_relax. This was fixed by using cpu_relax_yield. Therefore, we can
now redefine cpu_relax to be a barrier instead on s390, making s390
identical to all other architectures.
Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
---
arch/s390/include/asm/processor.h | 2 +-
1 file changed, 1 insertion(+), 1
2016 Oct 25
0
[GIT PULL v2 5/5] processor.h: remove cpu_relax_lowlatency
As there are no users left, we can remove cpu_relax_lowlatency.
Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
---
arch/alpha/include/asm/processor.h | 1 -
arch/arc/include/asm/processor.h | 2 --
arch/arm/include/asm/processor.h | 1 -
arch/arm64/include/asm/processor.h | 1 -
arch/avr32/include/asm/processor.h | 1 -
2016 Oct 24
0
[PATCH 2/5] stop_machine: yield CPU during stop machine
On 10/22/2016 02:06 AM, Nicholas Piggin wrote:
> On Fri, 21 Oct 2016 14:05:36 +0200
> Peter Zijlstra <peterz at infradead.org> wrote:
>
>> 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
2016 Oct 22
1
[PATCH 2/5] stop_machine: yield CPU during stop machine
On Fri, 21 Oct 2016 14:05:36 +0200
Peter Zijlstra <peterz at infradead.org> wrote:
> 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
2016 Oct 25
0
[GIT PULL v2 2/5] stop_machine: yield CPU during stop machine
Some time ago commit 57f2ffe14fd125c2 ("s390: remove diag 44 calls
from cpu_relax()") did stop cpu_relax on s390 yielding to the
hypervisor.
As it turns out this made stop_machine run really slow on virtualized
overcommited systems. For example the kprobes test during bootup took
several seconds instead of just running unnoticed with large guests.
Therefore, the yielding was
2016 Feb 28
1
[PATCH V3 3/3] vhost_net: basic polling support
On 02/26/2016 09:42 AM, Jason Wang wrote:
> This patch tries to poll for new added tx buffer or socket receive
> queue for a while at the end of tx/rx processing. The maximum time
> spent on polling were specified through a new kind of vring ioctl.
>
> Signed-off-by: Jason Wang <jasowang at redhat.com>
> ---
> drivers/vhost/net.c | 79
2016 Feb 28
1
[PATCH V3 3/3] vhost_net: basic polling support
On 02/26/2016 09:42 AM, Jason Wang wrote:
> This patch tries to poll for new added tx buffer or socket receive
> queue for a while at the end of tx/rx processing. The maximum time
> spent on polling were specified through a new kind of vring ioctl.
>
> Signed-off-by: Jason Wang <jasowang at redhat.com>
> ---
> drivers/vhost/net.c | 79