From c4ee38f8e8c8cc3b4ff339428bc5330daaed8db9 Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Sat, 2 May 2020 23:52:35 +0000 Subject: [PATCH] Step 2.3: Rename mbuf_ext_pg_len() to m_epg_pagelen() that uses mbuf argument. Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 --- sys/dev/cxgbe/t4_sge.c | 2 +- sys/dev/cxgbe/tom/t4_tls.c | 12 ++++++------ sys/kern/kern_mbuf.c | 2 +- sys/kern/subr_bus_dma.c | 2 +- sys/kern/subr_sglist.c | 4 ++-- sys/kern/uipc_ktls.c | 2 +- sys/kern/uipc_mbuf.c | 2 +- sys/sys/mbuf.h | 10 ++++++---- 8 files changed, 19 insertions(+), 17 deletions(-) diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index 739de819b61..5d3f83bbcc4 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -2441,7 +2441,7 @@ count_mbuf_ext_pgs(struct mbuf *m, int skip, vm_paddr_t *nextaddr) } pgoff = m->m_ext_pgs.first_pg_off; for (i = 0; i < m->m_ext_pgs.npgs && len > 0; i++) { - pglen = mbuf_ext_pg_len(&m->m_ext_pgs, i, pgoff); + pglen = m_epg_pagelen(m, i, pgoff); if (off >= pglen) { off -= pglen; pgoff = 0; diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c index 6819940359b..085d7e83974 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -1655,13 +1655,13 @@ write_ktlstx_sgl(void *dst, struct mbuf *m, int nsegs) /* Figure out the first S/G length. */ pa = m->m_epg_pa[0] + m->m_ext_pgs.first_pg_off; usgl->addr0 = htobe64(pa); - len = mbuf_ext_pg_len(&m->m_ext_pgs, 0, m->m_ext_pgs.first_pg_off); + len = m_epg_pagelen(m, 0, m->m_ext_pgs.first_pg_off); pa += len; for (i = 1; i < m->m_ext_pgs.npgs; i++) { if (m->m_epg_pa[i] != pa) break; - len += mbuf_ext_pg_len(&m->m_ext_pgs, i, 0); - pa += mbuf_ext_pg_len(&m->m_ext_pgs, i, 0); + len += m_epg_pagelen(m, i, 0); + pa += m_epg_pagelen(m, i, 0); } usgl->len0 = htobe32(len); #ifdef INVARIANTS @@ -1679,11 +1679,11 @@ write_ktlstx_sgl(void *dst, struct mbuf *m, int nsegs) #endif pa = m->m_epg_pa[i]; usgl->sge[j / 2].addr[j & 1] = htobe64(pa); - len = mbuf_ext_pg_len(&m->m_ext_pgs, i, 0); + len = m_epg_pagelen(m, i, 0); pa += len; } else { - len += mbuf_ext_pg_len(&m->m_ext_pgs, i, 0); - pa += mbuf_ext_pg_len(&m->m_ext_pgs, i, 0); + len += m_epg_pagelen(m, i, 0); + pa += m_epg_pagelen(m, i, 0); } } if (j >= 0) { diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index 90ded087301..3c407e11862 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -983,7 +983,7 @@ _mb_unmapped_to_ext(struct mbuf *m) } pgoff = ext_pgs->first_pg_off; for (i = 0; i < ext_pgs->npgs && len > 0; i++) { - pglen = mbuf_ext_pg_len(ext_pgs, i, pgoff); + pglen = m_epg_pagelen(m, i, pgoff); if (off >= pglen) { off -= pglen; pgoff = 0; diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c index f47e37a9123..453725f97c9 100644 --- a/sys/kern/subr_bus_dma.c +++ b/sys/kern/subr_bus_dma.c @@ -145,7 +145,7 @@ _bus_dmamap_load_mbuf_epg(bus_dma_tag_t dmat, bus_dmamap_t map, } pgoff = m->m_ext_pgs.first_pg_off; for (i = 0; i < m->m_ext_pgs.npgs && error == 0 && len > 0; i++) { - pglen = mbuf_ext_pg_len(&m->m_ext_pgs, i, pgoff); + pglen = m_epg_pagelen(m, i, pgoff); if (off >= pglen) { off -= pglen; pgoff = 0; diff --git a/sys/kern/subr_sglist.c b/sys/kern/subr_sglist.c index 28d7bb19733..d9ed39c645e 100644 --- a/sys/kern/subr_sglist.c +++ b/sys/kern/subr_sglist.c @@ -249,7 +249,7 @@ sglist_count_mbuf_epg(struct mbuf *m, size_t off, size_t len) nextaddr = 0; pgoff = m->m_ext_pgs.first_pg_off; for (i = 0; i < m->m_ext_pgs.npgs && len > 0; i++) { - pglen = mbuf_ext_pg_len(&m->m_ext_pgs, i, pgoff); + pglen = m_epg_pagelen(m, i, pgoff); if (off >= pglen) { off -= pglen; pgoff = 0; @@ -406,7 +406,7 @@ sglist_append_mbuf_epg(struct sglist *sg, struct mbuf *m, size_t off, } pgoff = m->m_ext_pgs.first_pg_off; for (i = 0; i < m->m_ext_pgs.npgs && error == 0 && len > 0; i++) { - pglen = mbuf_ext_pg_len(&m->m_ext_pgs, i, pgoff); + pglen = m_epg_pagelen(m, i, pgoff); if (off >= pglen) { off -= pglen; pgoff = 0; diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 260e7161f65..b11f61ea854 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1550,7 +1550,7 @@ ktls_encrypt(struct mbuf *top) off = pgs->first_pg_off; for (i = 0; i < pgs->npgs; i++, off = 0) { - len = mbuf_ext_pg_len(pgs, i, off); + len = m_epg_pagelen(m, i, off); src_iov[i].iov_len = len; src_iov[i].iov_base = (char *)(void *)PHYS_TO_DMAP(m->m_epg_pa[i]) + diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index 7f54b666f97..a0001545772 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1805,7 +1805,7 @@ m_unmappedtouio(const struct mbuf *m, int m_off, struct uio *uio, int len) } pgoff = ext_pgs->first_pg_off; for (i = 0; i < ext_pgs->npgs && error == 0 && len > 0; i++) { - pglen = mbuf_ext_pg_len(ext_pgs, i, pgoff); + pglen = m_epg_pagelen(m, i, pgoff); if (off >= pglen) { off -= pglen; pgoff = 0; diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index c1dea81be2d..b84182ba657 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -388,12 +388,14 @@ struct mbuf { #ifdef _KERNEL static inline int -mbuf_ext_pg_len(struct mbuf_ext_pgs *ext_pgs, int pidx, int pgoff) +m_epg_pagelen(const struct mbuf *m, int pidx, int pgoff) { + KASSERT(pgoff == 0 || pidx == 0, - ("page %d with non-zero offset %d in %p", pidx, pgoff, ext_pgs)); - if (pidx == ext_pgs->npgs - 1) { - return (ext_pgs->last_pg_len); + ("page %d with non-zero offset %d in %p", pidx, pgoff, m)); + + if (pidx == m->m_ext_pgs.npgs - 1) { + return (m->m_ext_pgs.last_pg_len); } else { return (PAGE_SIZE - pgoff); } -- 2.45.0