netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).