Module Name: src
Committed By: jakllsch
Date: Wed Apr 29 18:52:03 UTC 2020
Modified Files:
src/sys/dev/pci: if_msk.c if_mskvar.h
Log Message:
msk(4): don't keep array of pointers to each ring descriptor
With 512 descriptors each in 2 rings this saves 4KiB (LP32) or 8KiB (LP64)
per interface.
To generate a diff of this commit:
cvs rdiff -u -r1.103 -r1.104 src/sys/dev/pci/if_msk.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/pci/if_mskvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_msk.c
diff -u src/sys/dev/pci/if_msk.c:1.103 src/sys/dev/pci/if_msk.c:1.104
--- src/sys/dev/pci/if_msk.c:1.103 Tue Apr 28 17:26:01 2020
+++ src/sys/dev/pci/if_msk.c Wed Apr 29 18:52:03 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: if_msk.c,v 1.103 2020/04/28 17:26:01 jakllsch Exp $ */
+/* $NetBSD: if_msk.c,v 1.104 2020/04/29 18:52:03 jakllsch Exp $ */
/* $OpenBSD: if_msk.c,v 1.79 2009/10/15 17:54:56 deraadt Exp $ */
/*
@@ -52,7 +52,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.103 2020/04/28 17:26:01 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.104 2020/04/29 18:52:03 jakllsch Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -418,14 +418,9 @@ msk_init_rx_ring(struct sk_if_softc *sc_
struct msk_chain_data *cd = &sc_if->sk_cdata;
struct msk_ring_data *rd = sc_if->sk_rdata;
struct msk_rx_desc *r;
- int i;
memset(rd->sk_rx_ring, 0, sizeof(struct msk_rx_desc) * MSK_RX_RING_CNT);
- for (i = 0; i < MSK_RX_RING_CNT; i++) {
- cd->sk_rx_chain[i].sk_le = &rd->sk_rx_ring[i];
- }
-
sc_if->sk_cdata.sk_rx_prod = 0;
sc_if->sk_cdata.sk_rx_cons = 0;
sc_if->sk_cdata.sk_rx_cnt = 0;
@@ -453,14 +448,9 @@ msk_init_tx_ring(struct sk_if_softc *sc_
struct msk_chain_data *cd = &sc_if->sk_cdata;
struct msk_ring_data *rd = sc_if->sk_rdata;
struct msk_tx_desc *t;
- int i;
memset(rd->sk_tx_ring, 0, sizeof(struct msk_tx_desc) * MSK_TX_RING_CNT);
- for (i = 0; i < MSK_TX_RING_CNT; i++) {
- cd->sk_tx_chain[i].sk_le = &rd->sk_tx_ring[i];
- }
-
sc_if->sk_cdata.sk_tx_prod = 0;
sc_if->sk_cdata.sk_tx_cons = 0;
sc_if->sk_cdata.sk_tx_cnt = 0;
@@ -515,7 +505,7 @@ msk_newbuf(struct sk_if_softc *sc_if, bu
if (sc_if->sk_cdata.sk_rx_hiaddr != MSK_ADDR_HI(addr)) {
c = &sc_if->sk_cdata.sk_rx_chain[sc_if->sk_cdata.sk_rx_prod];
- r = c->sk_le;
+ r = &sc_if->sk_rdata->sk_rx_ring[sc_if->sk_cdata.sk_rx_prod];
c->sk_mbuf = NULL;
r->sk_addr = htole32(MSK_ADDR_HI(addr));
r->sk_len = 0;
@@ -535,7 +525,7 @@ msk_newbuf(struct sk_if_softc *sc_if, bu
}
c = &sc_if->sk_cdata.sk_rx_chain[sc_if->sk_cdata.sk_rx_prod];
- r = c->sk_le;
+ r = &sc_if->sk_rdata->sk_rx_ring[sc_if->sk_cdata.sk_rx_prod];
c->sk_mbuf = m_new;
r->sk_addr = htole32(MSK_ADDR_LO(addr));
r->sk_len = htole16(SK_JLEN);
Index: src/sys/dev/pci/if_mskvar.h
diff -u src/sys/dev/pci/if_mskvar.h:1.23 src/sys/dev/pci/if_mskvar.h:1.24
--- src/sys/dev/pci/if_mskvar.h:1.23 Sun Apr 26 16:14:14 2020
+++ src/sys/dev/pci/if_mskvar.h Wed Apr 29 18:52:03 2020
@@ -1,5 +1,5 @@
/* $OpenBSD: if_mskvar.h,v 1.3 2006/12/28 16:34:42 kettenis Exp $ */
-/* $NetBSD: if_mskvar.h,v 1.23 2020/04/26 16:14:14 jakllsch Exp $ */
+/* $NetBSD: if_mskvar.h,v 1.24 2020/04/29 18:52:03 jakllsch Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -89,7 +89,6 @@ struct sk_jpool_entry {
};
struct sk_chain {
- void *sk_le;
struct mbuf *sk_mbuf;
};