jme: Cache align RX/TX data structure
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 19 Aug 2012 23:53:11 +0000 (07:53 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 19 Aug 2012 23:53:41 +0000 (07:53 +0800)
sys/dev/netif/jme/if_jme.c
sys/dev/netif/jme/if_jmevar.h

index a913195..acf872d 100644 (file)
@@ -661,6 +661,9 @@ jme_attach(device_t dev)
        int error = 0, i, j, rx_desc_cnt;
        uint8_t eaddr[ETHER_ADDR_LEN];
 
        int error = 0, i, j, rx_desc_cnt;
        uint8_t eaddr[ETHER_ADDR_LEN];
 
+       device_printf(dev, "rxdata %zu, chain_data %zu\n",
+           sizeof(struct jme_rxdata), sizeof(struct jme_chain_data));
+
        lwkt_serialize_init(&sc->jme_serialize);
        lwkt_serialize_init(&sc->jme_cdata.jme_tx_serialize);
        for (i = 0; i < JME_NRXRING_MAX; ++i) {
        lwkt_serialize_init(&sc->jme_serialize);
        lwkt_serialize_init(&sc->jme_cdata.jme_tx_serialize);
        for (i = 0; i < JME_NRXRING_MAX; ++i) {
index 422340c..2bc0be3 100644 (file)
@@ -162,7 +162,7 @@ struct jme_rxdata {
        struct mbuf             *jme_rxtail;
 
        u_long                  jme_rx_pkt;
        struct mbuf             *jme_rxtail;
 
        u_long                  jme_rx_pkt;
-};
+} __cachealign;
 
 struct jme_chain_data {
        /*
 
 struct jme_chain_data {
        /*
@@ -199,7 +199,7 @@ struct jme_chain_data {
 
        int                     jme_rx_ring_cnt;
        struct jme_rxdata       jme_rx_data[JME_NRXRING_MAX];
 
        int                     jme_rx_ring_cnt;
        struct jme_rxdata       jme_rx_data[JME_NRXRING_MAX];
-};
+} __cachealign;
 
 struct jme_msix_data {
        int                     jme_msix_rid;
 
 struct jme_msix_data {
        int                     jme_msix_rid;