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; };