Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/xen/xen xbd(4): Membar audit.



details:   https://anonhg.NetBSD.org/src/rev/1b174c4a92de
branches:  trunk
changeset: 373713:1b174c4a92de
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Sat Feb 25 00:33:03 2023 +0000

description:
xbd(4): Membar audit.

After consuming slots, must issue xen_wmb before notifying the other
side that we've consumed them in RING_FINAL_CHECK_FOR_RESPONSES.

diffstat:

 sys/arch/xen/xen/xbd_xenbus.c |  7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diffs (30 lines):

diff -r a783c92a8885 -r 1b174c4a92de sys/arch/xen/xen/xbd_xenbus.c
--- a/sys/arch/xen/xen/xbd_xenbus.c     Sat Feb 25 00:32:49 2023 +0000
+++ b/sys/arch/xen/xen/xbd_xenbus.c     Sat Feb 25 00:33:03 2023 +0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: xbd_xenbus.c,v 1.129 2020/07/13 21:21:56 jdolecek Exp $      */
+/*      $NetBSD: xbd_xenbus.c,v 1.130 2023/02/25 00:33:03 riastradh Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -50,7 +50,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xbd_xenbus.c,v 1.129 2020/07/13 21:21:56 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xbd_xenbus.c,v 1.130 2023/02/25 00:33:03 riastradh Exp $");
 
 #include "opt_xen.h"
 
@@ -905,10 +905,9 @@
                }
                SLIST_INSERT_HEAD(&sc->sc_xbdreq_head, xbdreq, req_next);
        }
-
-       xen_rmb();
        sc->sc_ring.rsp_cons = i;
 
+       xen_wmb();
        RING_FINAL_CHECK_FOR_RESPONSES(&sc->sc_ring, more_to_do);
        if (more_to_do)
                goto again;



Home | Main Index | Thread Index | Old Index