NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/59618 CVS commit: src
The following reply was made to PR kern/59618; it has been noted by GNATS.
From: "Taylor R Campbell" <riastradh%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/59618 CVS commit: src
Date: Sat, 6 Sep 2025 02:53:24 +0000
Module Name: src
Committed By: riastradh
Date: Sat Sep 6 02:53:23 UTC 2025
Modified Files:
src/common/lib/libc/arch/i386/atomic: atomic.S
src/common/lib/libc/arch/sparc/atomic: membar_ops.S
src/common/lib/libc/arch/sparc64/atomic: membar_ops.S
src/common/lib/libc/arch/x86_64/atomic: atomic.S
src/distrib/sets/lists/comp: mi
src/share/man/man9: Makefile
src/sys/arch/alpha/alpha: locore.s
src/sys/arch/amd64/amd64: cpufunc.S
src/sys/arch/arm/arm: cpu_subr.c
src/sys/arch/hppa/hppa: support.S
src/sys/arch/i386/i386: cpufunc.S
src/sys/arch/mips/mips: cpu_subr.c
src/sys/arch/riscv/riscv: cpu_subr.c
src/sys/arch/sparc/sparc: locore.s
src/sys/arch/sparc64/sparc64: locore.s
src/sys/arch/virt68k/virt68k: locore.s
Added Files:
src/share/man/man9: paravirt_membar_sync.9
src/sys/sys: paravirt_membar.h
Log Message:
paravirt_membar_sync(9): New memory barrier.
For use in paravirtualized drivers which require store-before-load
ordering -- irrespective of whether the kernel is built for a single
processor, or whether the (virtual) machine is booted with a single
processor.
This is even required on architectures that don't even have a
store-before-load ordering barrier, like m68k; adding, e.g., a virtio
bus is _as if_ the architecture has been extended with relaxed memory
ordering when talking with that new bus. Such architectures need
some way to request the hypervisor enforce that ordering -- on m68k,
that's done by issuing a CASL instruction, which qemu maps to an
atomic r/m/w with sequential consistency ordering in the host.
PR kern/59618: occasional virtio block device lock ups/hangs
To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/common/lib/libc/arch/i386/atomic/atomic.S
cvs rdiff -u -r1.8 -r1.9 src/common/lib/libc/arch/sparc/atomic/membar_ops.S
cvs rdiff -u -r1.9 -r1.10 \
src/common/lib/libc/arch/sparc64/atomic/membar_ops.S
cvs rdiff -u -r1.31 -r1.32 src/common/lib/libc/arch/x86_64/atomic/atomic.S
cvs rdiff -u -r1.2498 -r1.2499 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.474 -r1.475 src/share/man/man9/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man9/paravirt_membar_sync.9
cvs rdiff -u -r1.144 -r1.145 src/sys/arch/alpha/alpha/locore.s
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/amd64/amd64/cpufunc.S
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/arm/cpu_subr.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hppa/hppa/support.S
cvs rdiff -u -r1.53 -r1.54 src/sys/arch/i386/i386/cpufunc.S
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/mips/mips/cpu_subr.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/riscv/riscv/cpu_subr.c
cvs rdiff -u -r1.286 -r1.287 src/sys/arch/sparc/sparc/locore.s
cvs rdiff -u -r1.435 -r1.436 src/sys/arch/sparc64/sparc64/locore.s
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/virt68k/virt68k/locore.s
cvs rdiff -u -r0 -r1.1 src/sys/sys/paravirt_membar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index