* [PULL] virtio: barrier rework+fixes
@ 2016-01-13 16:28 Michael S. Tsirkin
2016-01-18 13:21 ` virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes) Michael S. Tsirkin
0 siblings, 1 reply; 5+ messages in thread
From: Michael S. Tsirkin @ 2016-01-13 16:28 UTC (permalink / raw)
To: Linus Torvalds
Cc: aquini, kvm, mst, peterz, benh, heiko.carstens, alexander.duyck,
virtualization, mingo, linux-arch, dave, linux, dbueso, richard,
bjorn.andersson, rmk+kernel, paulmck, james.hogan, arnd,
julian.calaby, boqun.feng, schwidefsky, stefanha, tglx, tony.luck,
netdev, linux-kernel, stable, minchan, david.vrabel, joe, akpm,
torvalds, davem
The following changes since commit afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc:
Linux 4.4 (2016-01-10 15:01:32 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus
for you to fetch changes up to 43e361f23c49dbddf74f56ddf6cdd85c5dbff6da:
checkpatch: add virt barriers (2016-01-12 20:47:08 +0200)
----------------------------------------------------------------
virtio: barrier rework+fixes
This adds a new kind of barrier, and reworks virtio and xen
to use it.
Plus some fixes here and there.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
----------------------------------------------------------------
Yes I know that the patch by Davidlohr Bueso has a typo in the subject :(
Davidlohr Bueso (1):
lcoking/barriers, arch: Use smp barriers in smp_store_release()
Michael S. Tsirkin (40):
asm-generic: guard smp_store_release/load_acquire
ia64: rename nop->iosapic_nop
ia64: reuse asm-generic/barrier.h
powerpc: reuse asm-generic/barrier.h
s390: reuse asm-generic/barrier.h
sparc: reuse asm-generic/barrier.h
arm: reuse asm-generic/barrier.h
arm64: reuse asm-generic/barrier.h
metag: reuse asm-generic/barrier.h
mips: reuse asm-generic/barrier.h
x86/um: reuse asm-generic/barrier.h
x86: reuse asm-generic/barrier.h
asm-generic: add __smp_xxx wrappers
powerpc: define __smp_xxx
arm64: define __smp_xxx
arm: define __smp_xxx
blackfin: define __smp_xxx
ia64: define __smp_xxx
metag: define __smp_xxx
mips: define __smp_xxx
s390: define __smp_xxx
sh: define __smp_xxx, fix smp_store_mb for !SMP
sparc: define __smp_xxx
tile: define __smp_xxx
xtensa: define __smp_xxx
x86: define __smp_xxx
asm-generic: implement virt_xxx memory barriers
Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb"
virtio_ring: update weak barriers to use virt_xxx
sh: support 1 and 2 byte xchg
sh: move xchg_cmpxchg to a header by itself
virtio_ring: use virt_store_mb
xenbus: use virt_xxx barriers
xen/io: use virt_xxx barriers
xen/events: use virt_xxx barriers
s390: use generic memory barriers
s390: more efficient smp barriers
checkpatch.pl: add missing memory barriers
checkpatch: check for __smp outside barrier.h
checkpatch: add virt barriers
Minchan Kim (2):
virtio_balloon: fix race by fill and leak
virtio_balloon: fix race between migration and ballooning
Stefan Hajnoczi (1):
virtio: make find_vqs() checkpatch.pl-friendly
arch/arm/include/asm/barrier.h | 35 ++---------
arch/arm64/include/asm/barrier.h | 19 ++----
arch/blackfin/include/asm/barrier.h | 4 +-
arch/ia64/include/asm/barrier.h | 24 +++-----
arch/metag/include/asm/barrier.h | 55 +++++------------
arch/mips/include/asm/barrier.h | 51 +++++-----------
arch/powerpc/include/asm/barrier.h | 33 ++++------
arch/s390/include/asm/barrier.h | 23 ++++---
arch/sh/include/asm/barrier.h | 3 +-
arch/sh/include/asm/cmpxchg-grb.h | 22 +++++++
arch/sh/include/asm/cmpxchg-irq.h | 11 ++++
arch/sh/include/asm/cmpxchg-llsc.h | 25 +-------
arch/sh/include/asm/cmpxchg-xchg.h | 51 ++++++++++++++++
arch/sh/include/asm/cmpxchg.h | 3 +
arch/sparc/include/asm/barrier_32.h | 1 -
arch/sparc/include/asm/barrier_64.h | 29 ++-------
arch/sparc/include/asm/processor.h | 3 -
arch/tile/include/asm/barrier.h | 9 +--
arch/x86/include/asm/barrier.h | 36 +++++------
arch/x86/um/asm/barrier.h | 9 +--
arch/xtensa/include/asm/barrier.h | 4 +-
drivers/virtio/virtio_pci_common.h | 2 +-
include/asm-generic/barrier.h | 106 ++++++++++++++++++++++++++++++---
include/linux/virtio_config.h | 2 +-
include/linux/virtio_ring.h | 21 +++++--
include/xen/interface/io/ring.h | 16 ++---
arch/ia64/kernel/iosapic.c | 6 +-
drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
drivers/misc/mic/card/mic_virtio.c | 2 +-
drivers/remoteproc/remoteproc_virtio.c | 2 +-
drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
drivers/s390/virtio/kvm_virtio.c | 2 +-
drivers/s390/virtio/virtio_ccw.c | 2 +-
drivers/virtio/virtio_balloon.c | 4 +-
drivers/virtio/virtio_input.c | 2 +-
drivers/virtio/virtio_mmio.c | 2 +-
drivers/virtio/virtio_pci_common.c | 4 +-
drivers/virtio/virtio_pci_modern.c | 2 +-
drivers/virtio/virtio_ring.c | 15 +++--
drivers/xen/events/events_fifo.c | 3 +-
drivers/xen/xenbus/xenbus_comms.c | 8 +--
mm/balloon_compaction.c | 4 +-
Documentation/memory-barriers.txt | 28 +++++++--
scripts/checkpatch.pl | 33 +++++++++-
44 files changed, 401 insertions(+), 319 deletions(-)
create mode 100644 arch/sh/include/asm/cmpxchg-xchg.h
^ permalink raw reply [flat|nested] 5+ messages in thread
* virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
2016-01-13 16:28 [PULL] virtio: barrier rework+fixes Michael S. Tsirkin
@ 2016-01-18 13:21 ` Michael S. Tsirkin
2016-01-18 19:07 ` Davidlohr Bueso
2016-01-19 1:01 ` Linus Torvalds
0 siblings, 2 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2016-01-18 13:21 UTC (permalink / raw)
To: Linus Torvalds
Cc: aquini, kvm, peterz, benh, heiko.carstens, alexander.duyck,
virtualization, mingo, linux-arch, dave, linux, dbueso, richard,
bjorn.andersson, rmk+kernel, paulmck, james.hogan, arnd,
julian.calaby, boqun.feng, schwidefsky, stefanha, tglx, tony.luck,
netdev, linux-kernel, stable, minchan, david.vrabel, joe, akpm,
davem
Hi Linus,
Just making sure nothing's wrong with this pull request.
If there's an issue, pls let me know!
Thanks!
On Wed, Jan 13, 2016 at 06:28:55PM +0200, Michael S. Tsirkin wrote:
> The following changes since commit afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc:
>
> Linux 4.4 (2016-01-10 15:01:32 -0800)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus
>
> for you to fetch changes up to 43e361f23c49dbddf74f56ddf6cdd85c5dbff6da:
>
> checkpatch: add virt barriers (2016-01-12 20:47:08 +0200)
>
> ----------------------------------------------------------------
> virtio: barrier rework+fixes
>
> This adds a new kind of barrier, and reworks virtio and xen
> to use it.
> Plus some fixes here and there.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
> ----------------------------------------------------------------
>
> Yes I know that the patch by Davidlohr Bueso has a typo in the subject :(
>
> Davidlohr Bueso (1):
> lcoking/barriers, arch: Use smp barriers in smp_store_release()
>
> Michael S. Tsirkin (40):
> asm-generic: guard smp_store_release/load_acquire
> ia64: rename nop->iosapic_nop
> ia64: reuse asm-generic/barrier.h
> powerpc: reuse asm-generic/barrier.h
> s390: reuse asm-generic/barrier.h
> sparc: reuse asm-generic/barrier.h
> arm: reuse asm-generic/barrier.h
> arm64: reuse asm-generic/barrier.h
> metag: reuse asm-generic/barrier.h
> mips: reuse asm-generic/barrier.h
> x86/um: reuse asm-generic/barrier.h
> x86: reuse asm-generic/barrier.h
> asm-generic: add __smp_xxx wrappers
> powerpc: define __smp_xxx
> arm64: define __smp_xxx
> arm: define __smp_xxx
> blackfin: define __smp_xxx
> ia64: define __smp_xxx
> metag: define __smp_xxx
> mips: define __smp_xxx
> s390: define __smp_xxx
> sh: define __smp_xxx, fix smp_store_mb for !SMP
> sparc: define __smp_xxx
> tile: define __smp_xxx
> xtensa: define __smp_xxx
> x86: define __smp_xxx
> asm-generic: implement virt_xxx memory barriers
> Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb"
> virtio_ring: update weak barriers to use virt_xxx
> sh: support 1 and 2 byte xchg
> sh: move xchg_cmpxchg to a header by itself
> virtio_ring: use virt_store_mb
> xenbus: use virt_xxx barriers
> xen/io: use virt_xxx barriers
> xen/events: use virt_xxx barriers
> s390: use generic memory barriers
> s390: more efficient smp barriers
> checkpatch.pl: add missing memory barriers
> checkpatch: check for __smp outside barrier.h
> checkpatch: add virt barriers
>
> Minchan Kim (2):
> virtio_balloon: fix race by fill and leak
> virtio_balloon: fix race between migration and ballooning
>
> Stefan Hajnoczi (1):
> virtio: make find_vqs() checkpatch.pl-friendly
>
> arch/arm/include/asm/barrier.h | 35 ++---------
> arch/arm64/include/asm/barrier.h | 19 ++----
> arch/blackfin/include/asm/barrier.h | 4 +-
> arch/ia64/include/asm/barrier.h | 24 +++-----
> arch/metag/include/asm/barrier.h | 55 +++++------------
> arch/mips/include/asm/barrier.h | 51 +++++-----------
> arch/powerpc/include/asm/barrier.h | 33 ++++------
> arch/s390/include/asm/barrier.h | 23 ++++---
> arch/sh/include/asm/barrier.h | 3 +-
> arch/sh/include/asm/cmpxchg-grb.h | 22 +++++++
> arch/sh/include/asm/cmpxchg-irq.h | 11 ++++
> arch/sh/include/asm/cmpxchg-llsc.h | 25 +-------
> arch/sh/include/asm/cmpxchg-xchg.h | 51 ++++++++++++++++
> arch/sh/include/asm/cmpxchg.h | 3 +
> arch/sparc/include/asm/barrier_32.h | 1 -
> arch/sparc/include/asm/barrier_64.h | 29 ++-------
> arch/sparc/include/asm/processor.h | 3 -
> arch/tile/include/asm/barrier.h | 9 +--
> arch/x86/include/asm/barrier.h | 36 +++++------
> arch/x86/um/asm/barrier.h | 9 +--
> arch/xtensa/include/asm/barrier.h | 4 +-
> drivers/virtio/virtio_pci_common.h | 2 +-
> include/asm-generic/barrier.h | 106 ++++++++++++++++++++++++++++++---
> include/linux/virtio_config.h | 2 +-
> include/linux/virtio_ring.h | 21 +++++--
> include/xen/interface/io/ring.h | 16 ++---
> arch/ia64/kernel/iosapic.c | 6 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/misc/mic/card/mic_virtio.c | 2 +-
> drivers/remoteproc/remoteproc_virtio.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/s390/virtio/kvm_virtio.c | 2 +-
> drivers/s390/virtio/virtio_ccw.c | 2 +-
> drivers/virtio/virtio_balloon.c | 4 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mmio.c | 2 +-
> drivers/virtio/virtio_pci_common.c | 4 +-
> drivers/virtio/virtio_pci_modern.c | 2 +-
> drivers/virtio/virtio_ring.c | 15 +++--
> drivers/xen/events/events_fifo.c | 3 +-
> drivers/xen/xenbus/xenbus_comms.c | 8 +--
> mm/balloon_compaction.c | 4 +-
> Documentation/memory-barriers.txt | 28 +++++++--
> scripts/checkpatch.pl | 33 +++++++++-
> 44 files changed, 401 insertions(+), 319 deletions(-)
> create mode 100644 arch/sh/include/asm/cmpxchg-xchg.h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
2016-01-18 13:21 ` virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes) Michael S. Tsirkin
@ 2016-01-18 19:07 ` Davidlohr Bueso
2016-01-19 1:01 ` Linus Torvalds
1 sibling, 0 replies; 5+ messages in thread
From: Davidlohr Bueso @ 2016-01-18 19:07 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: aquini, kvm, peterz, benh, heiko.carstens, alexander.duyck,
virtualization, mingo, linux-arch, linux, dbueso, richard,
bjorn.andersson, rmk+kernel, paulmck, james.hogan, arnd,
julian.calaby, boqun.feng, schwidefsky, stefanha, tglx, tony.luck,
netdev, linux-kernel, stable, minchan, david.vrabel, joe, akpm,
Linus Torvalds, davem
On Mon, 18 Jan 2016, Michael S. Tsirkin wrote:
>Hi Linus,
>Just making sure nothing's wrong with this pull request.
>If there's an issue, pls let me know!
>Thanks!
>
>On Wed, Jan 13, 2016 at 06:28:55PM +0200, Michael S. Tsirkin wrote:
>> The following changes since commit afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc:
>>
>> Linux 4.4 (2016-01-10 15:01:32 -0800)
>>
>> are available in the git repository at:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus
>>
>> for you to fetch changes up to 43e361f23c49dbddf74f56ddf6cdd85c5dbff6da:
>>
>> checkpatch: add virt barriers (2016-01-12 20:47:08 +0200)
>>
>> ----------------------------------------------------------------
>> virtio: barrier rework+fixes
>>
>> This adds a new kind of barrier, and reworks virtio and xen
>> to use it.
>> Plus some fixes here and there.
>>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>
>> ----------------------------------------------------------------
>>
>> Yes I know that the patch by Davidlohr Bueso has a typo in the subject :(
>>
>> Davidlohr Bueso (1):
>> lcoking/barriers, arch: Use smp barriers in smp_store_release()
fyi this arrived in Linus' tree through Ingo's pull request for -tip:
https://lkml.org/lkml/2016/1/11/319
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
2016-01-18 13:21 ` virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes) Michael S. Tsirkin
2016-01-18 19:07 ` Davidlohr Bueso
@ 2016-01-19 1:01 ` Linus Torvalds
2016-01-21 10:23 ` Michael S. Tsirkin
1 sibling, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2016-01-19 1:01 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: KVM list, virtualization, Network Development,
Linux Kernel Mailing List, Andrew Morton, Alexander Duyck,
Rafael Aquini, Arnd Bergmann, Benjamin Herrenschmidt,
Bjorn Andersson, Boqun Feng
On Mon, Jan 18, 2016 at 5:21 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> Hi Linus,
> Just making sure nothing's wrong with this pull request.
> If there's an issue, pls let me know!
It was just pulled because I wasn't 100% sure I wanted the extra
indirection. Oh well, pulled now.
One question:
- the arch/sh/ part of the pacth looks dubious. Why does it do that
#define smp_store_mb(var, value) __smp_store_mb(var, value)
despite the commit log saying it's done by asm-generic?
I haven't pushed out yet, my allmodconfig sanity-check build is still going..
Linus
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
2016-01-19 1:01 ` Linus Torvalds
@ 2016-01-21 10:23 ` Michael S. Tsirkin
0 siblings, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2016-01-21 10:23 UTC (permalink / raw)
To: Linus Torvalds
Cc: tony.luck, Rafael Aquini, KVM list, Network Development,
Boqun Feng, Linux Kernel Mailing List, Alexander Duyck,
virtualization, Arnd Bergmann, Bjorn Andersson,
Benjamin Herrenschmidt, Andrew Morton
On Mon, Jan 18, 2016 at 05:01:26PM -0800, Linus Torvalds wrote:
> On Mon, Jan 18, 2016 at 5:21 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > Hi Linus,
> > Just making sure nothing's wrong with this pull request.
> > If there's an issue, pls let me know!
>
> It was just pulled because I wasn't 100% sure I wanted the extra
> indirection. Oh well, pulled now.
>
> One question:
>
> - the arch/sh/ part of the pacth looks dubious. Why does it do that
>
> #define smp_store_mb(var, value) __smp_store_mb(var, value)
>
> despite the commit log saying it's done by asm-generic?
>
> I haven't pushed out yet, my allmodconfig sanity-check build is still going..
>
> Linus
Oh that's because that's what the existing code did, so
the original version of the patch left the bug in place.
I wanted to include the fix and I wrote this in the
commit message, but I forgot to include it in the code :(
Thankfully this just means that the commit log is wrong,
the code is just unchanged from 4.4, and I'll
include a fix in my tree shortly.
--
MST
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-01-21 10:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-13 16:28 [PULL] virtio: barrier rework+fixes Michael S. Tsirkin
2016-01-18 13:21 ` virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes) Michael S. Tsirkin
2016-01-18 19:07 ` Davidlohr Bueso
2016-01-19 1:01 ` Linus Torvalds
2016-01-21 10:23 ` Michael S. Tsirkin
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).