git: 840327e5ddf3 - main - mbuf: Don't support PAGE_SIZE < 4K
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 24 Aug 2022 17:35:59 UTC
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=840327e5ddf304c1a15949c23b7806ec10d32c2b commit 840327e5ddf304c1a15949c23b7806ec10d32c2b Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2022-08-24 17:34:07 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2022-08-24 17:34:07 +0000 mbuf: Don't support PAGE_SIZE < 4K The Vax supported such things, but FreeBSD does not. This further implies that MJUMPAGESIZE > MCLBYTES so assert this and remove code handling them being equal. Reviewed by: kp, imp, jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D36320 --- sys/kern/kern_mbuf.c | 3 +++ sys/sys/mbuf.h | 6 ------ sys/sys/param.h | 4 +--- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index 1c0c5624b6d7..a302545192fe 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -63,6 +63,9 @@ __FBSDID("$FreeBSD$"); #include <vm/uma.h> #include <vm/uma_dbg.h> +_Static_assert(MJUMPAGESIZE > MCLBYTES, + "Cluster must be smaller than a jumbo page"); + /* * In FreeBSD, Mbufs and Mbuf Clusters are allocated from UMA * Zones. diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 9e50a640eac0..601b1e92c172 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -894,11 +894,9 @@ m_gettype(int size) case MCLBYTES: type = EXT_CLUSTER; break; -#if MJUMPAGESIZE != MCLBYTES case MJUMPAGESIZE: type = EXT_JUMBOP; break; -#endif case MJUM9BYTES: type = EXT_JUMBO9; break; @@ -944,11 +942,9 @@ m_getzone(int size) case MCLBYTES: zone = zone_clust; break; -#if MJUMPAGESIZE != MCLBYTES case MJUMPAGESIZE: zone = zone_jumbop; break; -#endif case MJUM9BYTES: zone = zone_jumbo9; break; @@ -1068,11 +1064,9 @@ m_cljset(struct mbuf *m, void *cl, int type) case EXT_CLUSTER: size = MCLBYTES; break; -#if MJUMPAGESIZE != MCLBYTES case EXT_JUMBOP: size = MJUMPAGESIZE; break; -#endif case EXT_JUMBO9: size = MJUM9BYTES; break; diff --git a/sys/sys/param.h b/sys/sys/param.h index 59516c139136..6254b73f76a6 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -200,9 +200,7 @@ #define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ -#if PAGE_SIZE < 2048 -#define MJUMPAGESIZE MCLBYTES -#elif PAGE_SIZE <= 8192 +#if PAGE_SIZE <= 8192 #define MJUMPAGESIZE PAGE_SIZE #else #define MJUMPAGESIZE (8 * 1024)