Module Name: src
Committed By: maxv
Date: Tue Mar 26 18:31:30 UTC 2019
Modified Files:
src/sys/kern: subr_pool.c
src/sys/sys: pool.h
Log Message:
Remove POOL_SUBPAGE, it is unused, undocumented, and adds confusion.
To generate a diff of this commit:
cvs rdiff -u -r1.243 -r1.244 src/sys/kern/subr_pool.c
cvs rdiff -u -r1.85 -r1.86 src/sys/sys/pool.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/kern/subr_pool.c
diff -u src/sys/kern/subr_pool.c:1.243 src/sys/kern/subr_pool.c:1.244
--- src/sys/kern/subr_pool.c:1.243 Mon Mar 18 20:34:48 2019
+++ src/sys/kern/subr_pool.c Tue Mar 26 18:31:30 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_pool.c,v 1.243 2019/03/18 20:34:48 maxv Exp $ */
+/* $NetBSD: subr_pool.c,v 1.244 2019/03/26 18:31:30 maxv Exp $ */
/*
* Copyright (c) 1997, 1999, 2000, 2002, 2007, 2008, 2010, 2014, 2015, 2018
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.243 2019/03/18 20:34:48 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.244 2019/03/26 18:31:30 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -82,11 +82,6 @@ static struct pool phpool[PHPOOL_MAX];
#define PHPOOL_FREELIST_NELEM(idx) \
(((idx) == 0) ? 0 : BITMAP_SIZE * (1 << (idx)))
-#ifdef POOL_SUBPAGE
-/* Pool of subpages for use by normal pools. */
-static struct pool psppool;
-#endif
-
#if defined(KASAN)
#define POOL_REDZONE
#endif
@@ -545,10 +540,6 @@ pool_subsystem_init(void)
pool_init(&phpool[idx], sz, 0, 0, 0,
phpool_names[idx], &pool_allocator_meta, IPL_VM);
}
-#ifdef POOL_SUBPAGE
- pool_init(&psppool, POOL_SUBPAGE, POOL_SUBPAGE, 0,
- PR_RECURSIVE, "psppool", &pool_allocator_meta, IPL_VM);
-#endif
size = sizeof(pcg_t) +
(PCG_NOBJECTS_NORMAL - 1) * sizeof(pcgpair_t);
@@ -659,14 +650,7 @@ pool_init(struct pool *pp, size_t size,
if (palloc == NULL)
palloc = &pool_allocator_kmem;
-#ifdef POOL_SUBPAGE
- if (size > palloc->pa_pagesz) {
- if (palloc == &pool_allocator_kmem)
- palloc = &pool_allocator_kmem_fullpage;
- else if (palloc == &pool_allocator_nointr)
- palloc = &pool_allocator_nointr_fullpage;
- }
-#endif /* POOL_SUBPAGE */
+
if (!cold)
mutex_enter(&pool_allocator_lock);
if (palloc->pa_refcnt++ == 0) {
@@ -2692,50 +2676,17 @@ pool_cache_transfer(pool_cache_t pc)
void *pool_page_alloc(struct pool *, int);
void pool_page_free(struct pool *, void *);
-#ifdef POOL_SUBPAGE
-struct pool_allocator pool_allocator_kmem_fullpage = {
- .pa_alloc = pool_page_alloc,
- .pa_free = pool_page_free,
- .pa_pagesz = 0
-};
-#else
struct pool_allocator pool_allocator_kmem = {
.pa_alloc = pool_page_alloc,
.pa_free = pool_page_free,
.pa_pagesz = 0
};
-#endif
-#ifdef POOL_SUBPAGE
-struct pool_allocator pool_allocator_nointr_fullpage = {
- .pa_alloc = pool_page_alloc,
- .pa_free = pool_page_free,
- .pa_pagesz = 0
-};
-#else
struct pool_allocator pool_allocator_nointr = {
.pa_alloc = pool_page_alloc,
.pa_free = pool_page_free,
.pa_pagesz = 0
};
-#endif
-
-#ifdef POOL_SUBPAGE
-void *pool_subpage_alloc(struct pool *, int);
-void pool_subpage_free(struct pool *, void *);
-
-struct pool_allocator pool_allocator_kmem = {
- .pa_alloc = pool_subpage_alloc,
- .pa_free = pool_subpage_free,
- .pa_pagesz = POOL_SUBPAGE
-};
-
-struct pool_allocator pool_allocator_nointr = {
- .pa_alloc = pool_subpage_alloc,
- .pa_free = pool_subpage_free,
- .pa_pagesz = POOL_SUBPAGE
-};
-#endif /* POOL_SUBPAGE */
struct pool_allocator pool_allocator_big[] = {
{
@@ -3024,23 +2975,6 @@ pool_cache_redzone_check(pool_cache_t pc
#endif /* POOL_REDZONE */
-
-#ifdef POOL_SUBPAGE
-/* Sub-page allocator, for machines with large hardware pages. */
-void *
-pool_subpage_alloc(struct pool *pp, int flags)
-{
- return pool_get(&psppool, flags);
-}
-
-void
-pool_subpage_free(struct pool *pp, void *v)
-{
- pool_put(&psppool, v);
-}
-
-#endif /* POOL_SUBPAGE */
-
#if defined(DDB)
static bool
pool_in_page(struct pool *pp, struct pool_item_header *ph, uintptr_t addr)
Index: src/sys/sys/pool.h
diff -u src/sys/sys/pool.h:1.85 src/sys/sys/pool.h:1.86
--- src/sys/sys/pool.h:1.85 Sun Mar 17 19:57:54 2019
+++ src/sys/sys/pool.h Tue Mar 26 18:31:30 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: pool.h,v 1.85 2019/03/17 19:57:54 maxv Exp $ */
+/* $NetBSD: pool.h,v 1.86 2019/03/26 18:31:30 maxv Exp $ */
/*-
* Copyright (c) 1997, 1998, 1999, 2000, 2007 The NetBSD Foundation, Inc.
@@ -287,11 +287,6 @@ typedef struct pool_cache *pool_cache_t;
extern struct pool_allocator pool_allocator_kmem;
extern struct pool_allocator pool_allocator_nointr;
extern struct pool_allocator pool_allocator_meta;
-#ifdef POOL_SUBPAGE
-/* The above are subpage allocators in this case. */
-extern struct pool_allocator pool_allocator_kmem_fullpage;
-extern struct pool_allocator pool_allocator_nointr_fullpage;
-#endif
void pool_subsystem_init(void);