Date: Tue, 24 May 2016 17:04:02 GMT From: vincenzo@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r303801 - soc2016/vincenzo/head/sys/dev/netmap Message-ID: <201605241704.u4OH42jA079845@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: vincenzo Date: Tue May 24 17:04:01 2016 New Revision: 303801 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=303801 Log: ptnet: add core lock Modified: soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Modified: soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c ============================================================================== --- soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Tue May 24 17:02:42 2016 (r303800) +++ soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Tue May 24 17:04:01 2016 (r303801) @@ -93,6 +93,18 @@ char hwaddr[ETHER_ADDR_LEN]; }; +#define PTNET_CORE_LOCK_INIT(_sc) do { \ + snprintf((_sc)->core_mtx_name, sizeof((_sc)->core_mtx_name), \ + "%s", device_get_nameunit(sc->dev)); \ + mtx_init(&(_sc)->core_mtx, (_sc)->core_mtx_name, \ + "ptnet core lock", MTX_DEF); \ + } while (0) + +#define PTNET_CORE_LOCK_FINI(_sc) mtx_destroy(&(_sc)->core_mtx) + +#define PTNET_CORE_LOCK(_sc) mtx_lock(&(_sc)->core_mtx) +#define PTNET_CORE_UNLOCK(_sc) mtx_unlock(&(_sc)->core_mtx) + static int ptnet_probe(device_t); static int ptnet_attach(device_t); static int ptnet_detach(device_t); @@ -152,6 +164,9 @@ sc = device_get_softc(dev); sc->dev = dev; + + PTNET_CORE_LOCK_INIT(sc); + sc->ifp = ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { device_printf(dev, "Failed to allocate ifnet\n"); @@ -188,8 +203,12 @@ static int ptnet_detach(device_t dev) { + struct ptnet_softc *sc = device_get_softc(dev); + printf("%s\n", __func__); + PTNET_CORE_LOCK_FINI(sc); + return (0); } @@ -257,12 +276,10 @@ ifmr->ifm_status = IFM_AVALID; ifmr->ifm_active = IFM_ETHER; - //lock if (1) { ifmr->ifm_status |= IFM_ACTIVE; ifmr->ifm_active |= IFM_10G_T | IFM_FDX; } else { ifmr->ifm_active |= IFM_NONE; } - //unlock }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605241704.u4OH42jA079845>