Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/xen mark with XXXSMP all remaining spl*() and tslee...



details:   https://anonhg.NetBSD.org/src/rev/f80eeff74e18
branches:  trunk
changeset: 323660:f80eeff74e18
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Sun Jun 24 20:28:57 2018 +0000

description:
mark with XXXSMP all remaining spl*() and tsleep() calls

diffstat:

 sys/arch/xen/x86/x86_xpmap.c        |  10 +++++-----
 sys/arch/xen/x86/xen_bus_dma.c      |   8 ++++----
 sys/arch/xen/x86/xen_shm_machdep.c  |  12 +++++++-----
 sys/arch/xen/x86/xenfunc.c          |  10 +++++-----
 sys/arch/xen/xen/balloon.c          |  20 ++++++++++----------
 sys/arch/xen/xen/if_xennet_xenbus.c |  14 +++++++++-----
 sys/arch/xen/xen/xbd_xenbus.c       |  35 +++++++++++++++++++++++------------
 sys/arch/xen/xen/xbdback_xenbus.c   |   8 ++++----
 sys/arch/xen/xen/xen_machdep.c      |   6 +++---
 sys/arch/xen/xen/xpci_xenbus.c      |   7 ++++---
 10 files changed, 74 insertions(+), 56 deletions(-)

diffs (truncated from 573 to 300 lines):

diff -r 7c68090920b2 -r f80eeff74e18 sys/arch/xen/x86/x86_xpmap.c
--- a/sys/arch/xen/x86/x86_xpmap.c      Sun Jun 24 20:15:00 2018 +0000
+++ b/sys/arch/xen/x86/x86_xpmap.c      Sun Jun 24 20:28:57 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: x86_xpmap.c,v 1.74 2017/09/16 09:28:38 maxv Exp $      */
+/*     $NetBSD: x86_xpmap.c,v 1.75 2018/06/24 20:28:57 jdolecek Exp $  */
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -95,7 +95,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.74 2017/09/16 09:28:38 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.75 2018/06/24 20:28:57 jdolecek Exp $");
 
 #include "opt_xen.h"
 #include "opt_ddb.h"
@@ -186,7 +186,7 @@
                    base, entries, ptp));
                pmap_pte_clearbits(ptp, PG_RW);
        }
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        xpq_queue_set_ldt(base, entries);
        splx(s);
 }
@@ -320,7 +320,7 @@
 void
 xpq_flush_cache(void)
 {
-       int s = splvm();
+       int s = splvm(); /* XXXSMP */
 
        xpq_flush_queue();
 
@@ -955,7 +955,7 @@
 xen_set_user_pgd(paddr_t page)
 {
        struct mmuext_op op;
-       int s = splvm();
+       int s = splvm(); /* XXXSMP */
 
        xpq_flush_queue();
        op.cmd = MMUEXT_NEW_USER_BASEPTR;
diff -r 7c68090920b2 -r f80eeff74e18 sys/arch/xen/x86/xen_bus_dma.c
--- a/sys/arch/xen/x86/xen_bus_dma.c    Sun Jun 24 20:15:00 2018 +0000
+++ b/sys/arch/xen/x86/xen_bus_dma.c    Sun Jun 24 20:28:57 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: xen_bus_dma.c,v 1.26 2012/06/30 23:36:20 jym Exp $     */
+/*     $NetBSD: xen_bus_dma.c,v 1.27 2018/06/24 20:28:57 jdolecek Exp $        */
 /*     NetBSD bus_dma.c,v 1.21 2005/04/16 07:53:35 yamt Exp */
 
 /*-
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_bus_dma.c,v 1.26 2012/06/30 23:36:20 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_bus_dma.c,v 1.27 2018/06/24 20:28:57 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -126,7 +126,7 @@
                pg = NULL;
                goto failed;
        }
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        /* Map the new extent in place of the old pages */
        for (pg = mlistp->tqh_first, i = 0; pg != NULL; pg = pgnext, i++) {
                pgnext = pg->pageq.queue.tqe_next;
@@ -160,7 +160,7 @@
                uvm_pagefree(pg);
        }
        /* remplace the pages that we already gave to Xen */
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        for (pg = mlistp->tqh_first; pg != NULL; pg = pgnext) {
                pgnext = pg->pageq.queue.tqe_next;
                set_xen_guest_handle(res.extent_start, &mfn);
diff -r 7c68090920b2 -r f80eeff74e18 sys/arch/xen/x86/xen_shm_machdep.c
--- a/sys/arch/xen/x86/xen_shm_machdep.c        Sun Jun 24 20:15:00 2018 +0000
+++ b/sys/arch/xen/x86/xen_shm_machdep.c        Sun Jun 24 20:28:57 2018 +0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: xen_shm_machdep.c,v 1.10 2011/09/02 22:25:08 dyoung Exp $      */
+/*      $NetBSD: xen_shm_machdep.c,v 1.11 2018/06/24 20:28:57 jdolecek Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_shm_machdep.c,v 1.10 2011/09/02 22:25:08 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_shm_machdep.c,v 1.11 2018/06/24 20:28:57 jdolecek Exp $");
 
 
 #include <sys/types.h>
@@ -132,6 +132,7 @@
                panic("xen_shm_map");
        }
 #endif
+       /* XXXSMP */
        s = splvm(); /* splvm is the lowest level blocking disk and net IRQ */
        /*
         * if a driver is waiting for ressources, don't try to allocate
@@ -211,6 +212,7 @@
        if (__predict_false(ret))
                panic("xen_shm_unmap: unmap failed");
        va = va >> PAGE_SHIFT;
+       /* XXXSMP */
        s = splvm(); /* splvm is the lowest level blocking disk and net IRQ */
        vmem_free(xen_shm_arena, va, nentries);
        while (__predict_false((xshmc = SIMPLEQ_FIRST(&xen_shm_callbacks))
@@ -219,11 +221,11 @@
                splx(s);
                if (xshmc->xshmc_callback(xshmc->xshmc_arg) == 0) {
                        /* callback succeeded */
-                       s = splvm();
+                       s = splvm(); /* XXXSMP */
                        pool_put(&xen_shm_callback_pool, xshmc);
                } else {
                        /* callback failed, probably out of ressources */
-                       s = splvm();
+                       s = splvm(); /* XXXSMP */
                        SIMPLEQ_INSERT_TAIL(&xen_shm_callbacks, xshmc,
                                            xshmc_entries);
 
@@ -239,7 +241,7 @@
        struct xen_shm_callback_entry *xshmc;
        int s;
 
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        xshmc = pool_get(&xen_shm_callback_pool, PR_NOWAIT);
        if (xshmc == NULL) {
                splx(s);
diff -r 7c68090920b2 -r f80eeff74e18 sys/arch/xen/x86/xenfunc.c
--- a/sys/arch/xen/x86/xenfunc.c        Sun Jun 24 20:15:00 2018 +0000
+++ b/sys/arch/xen/x86/xenfunc.c        Sun Jun 24 20:28:57 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: xenfunc.c,v 1.17 2017/10/15 10:58:32 maxv Exp $        */
+/*     $NetBSD: xenfunc.c,v 1.18 2018/06/24 20:28:57 jdolecek Exp $    */
 
 /*
  *
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xenfunc.c,v 1.17 2017/10/15 10:58:32 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xenfunc.c,v 1.18 2018/06/24 20:28:57 jdolecek Exp $");
 
 #include <sys/param.h>
 
@@ -53,7 +53,7 @@
 void 
 invlpg(vaddr_t addr)
 {
-       int s = splvm();
+       int s = splvm(); /* XXXSMP */
        xpq_queue_invlpg(addr);
        splx(s);
 }  
@@ -101,7 +101,7 @@
 void
 lcr3(vaddr_t val)
 {
-       int s = splvm();
+       int s = splvm(); /* XXXSMP */
        xpq_queue_pt_switch(xpmap_ptom_masked(val));
        splx(s);
 }
@@ -110,7 +110,7 @@
 void
 tlbflush(void)
 {
-       int s = splvm();
+       int s = splvm(); /* XXXSMP */
        xpq_queue_tlb_flush();
        splx(s);
 }
diff -r 7c68090920b2 -r f80eeff74e18 sys/arch/xen/xen/balloon.c
--- a/sys/arch/xen/xen/balloon.c        Sun Jun 24 20:15:00 2018 +0000
+++ b/sys/arch/xen/xen/balloon.c        Sun Jun 24 20:28:57 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: balloon.c,v 1.18 2016/12/23 17:01:10 cherry Exp $ */
+/* $NetBSD: balloon.c,v 1.19 2018/06/24 20:28:58 jdolecek Exp $ */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -75,7 +75,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: balloon.c,v 1.18 2016/12/23 17:01:10 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: balloon.c,v 1.19 2018/06/24 20:28:58 jdolecek Exp $");
 
 #include <sys/inttypes.h>
 #include <sys/device.h>
@@ -275,7 +275,7 @@
        int s;
        unsigned int ret;
 
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, 
            & (domid_t) { DOMID_SELF });
 
@@ -295,7 +295,7 @@
 {
        int s, ret;
 
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        ret = HYPERVISOR_memory_op(XENMEM_current_reservation,
                                   & (domid_t) { DOMID_SELF });
        splx(s);
@@ -401,7 +401,7 @@
 
                mfn_list[rpages] = xpmap_ptom(pa) >> PAGE_SHIFT;
 
-               s = splvm();
+               s = splvm(); /* XXXSMP */
                /* Invalidate pg */
                xpmap_ptom_unmap(pa);
                splx(s);
@@ -415,7 +415,7 @@
        set_xen_guest_handle(reservation.extent_start, mfn_list);
        reservation.nr_extents = rpages;
 
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        ret = HYPERVISOR_memory_op(XENMEM_decrease_reservation,
                                   &reservation);
        splx(s);
@@ -481,7 +481,7 @@
        set_xen_guest_handle(reservation.extent_start, mfn_list);
        reservation.nr_extents = tpages;
 
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        ret = HYPERVISOR_memory_op(XENMEM_increase_reservation, &reservation);
        splx(s);
 
@@ -505,7 +505,7 @@
                        pa = pmap_pa_end;
 
                        /* P2M update */
-                       s = splvm();
+                       s = splvm(); /* XXXSMP */
                        pmap_pa_end += PAGE_SIZE; /* XXX: TLB flush ?*/
                        xpmap_ptom_map(pa, ptoa(mfn_list[rpages]));
                        xpq_queue_machphys_update(ptoa(mfn_list[rpages]), pa);
@@ -513,7 +513,7 @@
 
                        if (uvm_physseg_plug(atop(pa), 1, NULL) == false) {
                                /* Undo P2M */
-                               s = splvm();
+                               s = splvm(); /* XXXSMP */
                                xpmap_ptom_unmap(pa);
                                xpq_queue_machphys_update(ptoa(mfn_list[rpages]), 0);
                                pmap_pa_end -= PAGE_SIZE; /* XXX: TLB flush ?*/
@@ -540,7 +540,7 @@
                /* Update P->M */
                pa = VM_PAGE_TO_PHYS(bpg_entry->pg);
 
-               s = splvm();
+               s = splvm(); /* XXXSMP */
 
                xpmap_ptom_map(pa, ptoa(mfn_list[rpages]));
                xpq_queue_machphys_update(ptoa(mfn_list[rpages]), pa);
diff -r 7c68090920b2 -r f80eeff74e18 sys/arch/xen/xen/if_xennet_xenbus.c
--- a/sys/arch/xen/xen/if_xennet_xenbus.c       Sun Jun 24 20:15:00 2018 +0000
+++ b/sys/arch/xen/xen/if_xennet_xenbus.c       Sun Jun 24 20:28:57 2018 +0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: if_xennet_xenbus.c,v 1.75 2018/06/22 04:17:41 msaitoh Exp $      */
+/*      $NetBSD: if_xennet_xenbus.c,v 1.76 2018/06/24 20:28:58 jdolecek Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -84,7 +84,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_xennet_xenbus.c,v 1.75 2018/06/22 04:17:41 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_xennet_xenbus.c,v 1.76 2018/06/24 20:28:58 jdolecek Exp $");
 
 #include "opt_xen.h"
 #include "opt_nfs_boot.h"
@@ -322,7 +322,7 @@
        }
        mutex_init(&sc->sc_rx_lock, MUTEX_DEFAULT, IPL_NET);
        SLIST_INIT(&sc->sc_rxreq_head);
-       s = splvm();
+       s = splvm(); /* XXXSMP */
        for (i = 0; i < NET_RX_RING_SIZE; i++) {
                struct xennet_rxreq *rxreq = &sc->sc_rxreqs[i];
                rxreq->rxreq_id = i;



Home | Main Index | Thread Index | Old Index