search for: smp_wmb

Displaying 20 results from an estimated 651 matches for "smp_wmb".

2016 Jan 05
3
[PATCH v2 22/32] s390: define __smp_xxx
...wrote: > > > This defines __smp_xxx barriers for s390, > > > for use by virtualization. > > > > > > Some smp_xxx barriers are removed as they are > > > defined correctly by asm-generic/barriers.h > > > > > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > > > unconditionally on this architecture. > > > > > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > > Acked-by: Arnd Bergmann <arnd at arndb.de> > > > --- > > > arch/s390/include/asm/barri...
2016 Jan 05
3
[PATCH v2 22/32] s390: define __smp_xxx
...wrote: > > > This defines __smp_xxx barriers for s390, > > > for use by virtualization. > > > > > > Some smp_xxx barriers are removed as they are > > > defined correctly by asm-generic/barriers.h > > > > > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > > > unconditionally on this architecture. > > > > > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > > Acked-by: Arnd Bergmann <arnd at arndb.de> > > > --- > > > arch/s390/include/asm/barri...
2016 Jan 05
2
[PATCH v2 22/32] s390: define __smp_xxx
...390, > > > > > for use by virtualization. > > > > > > > > > > Some smp_xxx barriers are removed as they are > > > > > defined correctly by asm-generic/barriers.h > > > > > > > > > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > > > > > unconditionally on this architecture. > > > > > > > > > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > > > > Acked-by: Arnd Bergmann <arnd at arndb.de> > > > > &g...
2016 Jan 05
2
[PATCH v2 22/32] s390: define __smp_xxx
...390, > > > > > for use by virtualization. > > > > > > > > > > Some smp_xxx barriers are removed as they are > > > > > defined correctly by asm-generic/barriers.h > > > > > > > > > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > > > > > unconditionally on this architecture. > > > > > > > > > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > > > > Acked-by: Arnd Bergmann <arnd at arndb.de> > > > > &g...
2012 Feb 08
18
[PATCH 0 of 4] Prune outdated/impossible preprocessor symbols, and update VIOAPIC emulation
Patch 1 removes CONFIG_SMP Patch 2 removes separate smp_{,r,w}mb()s as a result of patch 1 Patch 4 removes __ia64__ defines from the x86 arch tree Patch 3 is related to patch 4 and changes the VIOAPIC to emulate version 0x20 as a performance gain. It preceeds Patch 4 so as to be more clear about the functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
2016 Jan 05
0
[PATCH v2 22/32] s390: define __smp_xxx
...fines __smp_xxx barriers for s390, > > > > for use by virtualization. > > > > > > > > Some smp_xxx barriers are removed as they are > > > > defined correctly by asm-generic/barriers.h > > > > > > > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > > > > unconditionally on this architecture. > > > > > > > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > > > Acked-by: Arnd Bergmann <arnd at arndb.de> > > > > --- > > > &gt...
2016 Jan 05
0
[PATCH v2 22/32] s390: define __smp_xxx
...> for use by virtualization. > > > > > > > > > > > > Some smp_xxx barriers are removed as they are > > > > > > defined correctly by asm-generic/barriers.h > > > > > > > > > > > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > > > > > > unconditionally on this architecture. > > > > > > > > > > > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > > > > > Acked-by: Arnd Bergmann <arnd at arndb.de> &g...
2017 Feb 15
2
[PATCH v2 0/3] x86/vdso: Add Hyper-V TSC page clocksource support
...le now and no bugs were reported there should be something. Actually, we already have an implementation of TSC page update in KVM (see arch/x86/kvm/hyperv.c, kvm_hv_setup_tsc_page()) and the update does the following: 0) stash seq into seq_prev 1) seq = 0 making all reads from the page invalid 2) smp_wmb() 3) update tsc_scale, tsc_offset 4) smp_wmb() 5) set seq = seq_prev + 1 As far as I understand this helps with situations you described above as guest will notice either invalid value of 0 or seq change. In case the implementation in real Hyper-V is the same we're safe with compile barriers o...
2017 Feb 15
2
[PATCH v2 0/3] x86/vdso: Add Hyper-V TSC page clocksource support
...le now and no bugs were reported there should be something. Actually, we already have an implementation of TSC page update in KVM (see arch/x86/kvm/hyperv.c, kvm_hv_setup_tsc_page()) and the update does the following: 0) stash seq into seq_prev 1) seq = 0 making all reads from the page invalid 2) smp_wmb() 3) update tsc_scale, tsc_offset 4) smp_wmb() 5) set seq = seq_prev + 1 As far as I understand this helps with situations you described above as guest will notice either invalid value of 0 or seq change. In case the implementation in real Hyper-V is the same we're safe with compile barriers o...
2015 Apr 08
3
[PATCH] virtio_ring: Update weak barriers to use dma_wmb/rmb
This change makes it so that instead of using smp_wmb/rmb which varies depending on the kernel configuration we can can use dma_wmb/rmb which for most architectures should be equal to or slightly more strict than smp_wmb/rmb. The advantage to this is that these barriers are available to uniprocessor builds as well so the performance should improve un...
2015 Apr 08
3
[PATCH] virtio_ring: Update weak barriers to use dma_wmb/rmb
This change makes it so that instead of using smp_wmb/rmb which varies depending on the kernel configuration we can can use dma_wmb/rmb which for most architectures should be equal to or slightly more strict than smp_wmb/rmb. The advantage to this is that these barriers are available to uniprocessor builds as well so the performance should improve un...
2017 Feb 17
1
[PATCH v2 0/3] x86/vdso: Add Hyper-V TSC page clocksource support
...t;> Actually, we already have an implementation of TSC page update in KVM >> (see arch/x86/kvm/hyperv.c, kvm_hv_setup_tsc_page()) and the update does >> the following: >> >> 0) stash seq into seq_prev >> 1) seq = 0 making all reads from the page invalid >> 2) smp_wmb() >> 3) update tsc_scale, tsc_offset >> 4) smp_wmb() >> 5) set seq = seq_prev + 1 > > I hope they handle the case where seq_prev overflows and becomes 0 :) > >> As far as I understand this helps with situations you described above as >> guest will notice eithe...
2017 Feb 17
1
[PATCH v2 0/3] x86/vdso: Add Hyper-V TSC page clocksource support
...t;> Actually, we already have an implementation of TSC page update in KVM >> (see arch/x86/kvm/hyperv.c, kvm_hv_setup_tsc_page()) and the update does >> the following: >> >> 0) stash seq into seq_prev >> 1) seq = 0 making all reads from the page invalid >> 2) smp_wmb() >> 3) update tsc_scale, tsc_offset >> 4) smp_wmb() >> 5) set seq = seq_prev + 1 > > I hope they handle the case where seq_prev overflows and becomes 0 :) > >> As far as I understand this helps with situations you described above as >> guest will notice eithe...
2016 Jan 04
2
[PATCH v2 22/32] s390: define __smp_xxx
On Thu, Dec 31, 2015 at 09:08:38PM +0200, Michael S. Tsirkin wrote: > This defines __smp_xxx barriers for s390, > for use by virtualization. > > Some smp_xxx barriers are removed as they are > defined correctly by asm-generic/barriers.h > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > unconditionally on this architecture. > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > Acked-by: Arnd Bergmann <arnd at arndb.de> > --- > arch/s390/include/asm/barrier.h | 15 +++++++++------ > 1 file changed, 9 insertions...
2016 Jan 04
2
[PATCH v2 22/32] s390: define __smp_xxx
On Thu, Dec 31, 2015 at 09:08:38PM +0200, Michael S. Tsirkin wrote: > This defines __smp_xxx barriers for s390, > for use by virtualization. > > Some smp_xxx barriers are removed as they are > defined correctly by asm-generic/barriers.h > > Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers > unconditionally on this architecture. > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > Acked-by: Arnd Bergmann <arnd at arndb.de> > --- > arch/s390/include/asm/barrier.h | 15 +++++++++------ > 1 file changed, 9 insertions...
2016 Jan 05
1
[PATCH v2 22/32] s390: define __smp_xxx
...ichael S. Tsirkin wrote: > > arch/s390/kernel/vdso.c: smp_mb(); > > Looking at > Author: Christian Borntraeger <borntraeger at de.ibm.com> > Date: Fri Sep 11 16:23:06 2015 +0200 > > s390/vdso: use correct memory barrier > > By definition smp_wmb only orders writes against writes. (Finish all > previous writes, and do not start any future write). To protect the > vdso init code against early reads on other CPUs, let's use a full > smp_mb at the end of vdso init. As right now smp_wmb is implemented > as fu...
2016 Jan 05
1
[PATCH v2 22/32] s390: define __smp_xxx
...ichael S. Tsirkin wrote: > > arch/s390/kernel/vdso.c: smp_mb(); > > Looking at > Author: Christian Borntraeger <borntraeger at de.ibm.com> > Date: Fri Sep 11 16:23:06 2015 +0200 > > s390/vdso: use correct memory barrier > > By definition smp_wmb only orders writes against writes. (Finish all > previous writes, and do not start any future write). To protect the > vdso init code against early reads on other CPUs, let's use a full > smp_mb at the end of vdso init. As right now smp_wmb is implemented > as fu...
2016 Jan 04
4
[PATCH 1/3] checkpatch.pl: add missing memory barriers
...ckpatch.pl > index 2b3c228..0245bbe 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -5116,7 +5116,14 @@ sub process { > ? } > ? } > ?# check for memory barriers without a comment. > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) { > + > + my @barriers = ('mb', 'rmb', 'wmb', 'read_barrier_depends'); > + my @smp_barriers = ('smp_store_release', 'smp_load_acquire', 'smp_store_mb'); > + > + @smp_barriers = (@smp_barriers, ma...
2016 Jan 04
4
[PATCH 1/3] checkpatch.pl: add missing memory barriers
...ckpatch.pl > index 2b3c228..0245bbe 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -5116,7 +5116,14 @@ sub process { > ? } > ? } > ?# check for memory barriers without a comment. > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) { > + > + my @barriers = ('mb', 'rmb', 'wmb', 'read_barrier_depends'); > + my @smp_barriers = ('smp_store_release', 'smp_load_acquire', 'smp_store_mb'); > + > + @smp_barriers = (@smp_barriers, ma...
2023 May 23
4
[PATCH 3/3] fork, vhost: Use CLONE_THREAD to fix freezer/ps regression
...this looks a bit confusing. Shouldn't we do if (!node) { schedule(); continue; } just to make the code a bit more clear? If node == NULL then llist_reverse_order() and llist_for_each_entry_safe() will do nothing. But this is minor. /* make sure flag is seen after deletion */ smp_wmb(); llist_for_each_entry_safe(work, work_next, node, node) { clear_bit(VHOST_WORK_QUEUED, &work->flags); I am not sure about smp_wmb + clear_bit. Once we clear VHOST_WORK_QUEUED, vhost_work_queue() can add this work again and change work->node->next. That is why we use _safe, but...