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 at 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
Michael S. Tsirkin
2016-Jan-18 13:21 UTC
virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
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 at 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
Davidlohr Bueso
2016-Jan-18 19:07 UTC
virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
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 at 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
Linus Torvalds
2016-Jan-19 01:01 UTC
virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
On Mon, Jan 18, 2016 at 5:21 AM, Michael S. Tsirkin <mst at 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
Reasonably Related Threads
- [PULL] virtio: barrier rework+fixes
- virtio pull for 4.5 (was Re: [PULL] virtio: barrier rework+fixes)
- [PATCH v3 00/41] arch: barrier cleanup + barriers for virt
- [PATCH v3 00/41] arch: barrier cleanup + barriers for virt
- [PATCH v2 00/34] arch: barrier cleanup + barriers for virt