From 2b954effa84d232d9cc48a10958ce03a48ef0398 Mon Sep 17 00:00:00 2001 From: Patrick Farrell Date: Wed, 20 Sep 2023 13:36:31 -0400 Subject: [PATCH] EX-8270 ptlrpc: remove more uses of 'enc' Remove a few more uses of 'enc' and note some we aren't changing. Test-Parameters: trivial Signed-off-by: Patrick Farrell Change-Id: Iaaf6c23ea295b22ded2e8942227ebd5ce4d34e13 Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/52432 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- lustre/ptlrpc/sec_bulk.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/lustre/ptlrpc/sec_bulk.c b/lustre/ptlrpc/sec_bulk.c index abcc666..d9922cd 100644 --- a/lustre/ptlrpc/sec_bulk.c +++ b/lustre/ptlrpc/sec_bulk.c @@ -55,12 +55,18 @@ #define PPOOL_ORDER_TO_INDEX(bits) ((bits) - PPOOL_MIN_CHUNK_BITS + 1) #define POOL_BITS(pool) ((pool) + PPOOL_MIN_CHUNK_BITS - 1) #define ELEMENT_SIZE(pool) (1 << (PPOOL_MIN_CHUNK_BITS + (pool) - 1)) -#define mult (20 - PAGE_SHIFT) +#define PAGES_TO_MiB(pages) ((pages) >> (20 - PAGE_SHIFT)) +#define MiB_TO_PAGES(mb) ((mb) << (20 - PAGE_SHIFT)) +/* deprecated - see pool_max_memory_mb below */ static int enc_pool_max_memory_mb; module_param(enc_pool_max_memory_mb, int, 0644); MODULE_PARM_DESC(enc_pool_max_memory_mb, - "Encoding pool max memory (MB), 1/8 of total physical memory by default"); + "Encoding pool max memory (MB), default unlimited (deprecated, please use pool_max_memory_mb)"); +static int pool_max_memory_mb; +module_param(pool_max_memory_mb, int, 0644); +MODULE_PARM_DESC(pool_max_memory_mb, + "Encoding pool max memory (MB), default unlimited"); /* * lustre page pools */ @@ -126,6 +132,9 @@ static struct ptlrpc_page_pool { } **page_pools; /* + * Keep old name (encrypt_page_pool vs page_pool) for compatibility with user + * tools pulling stats + * * /sys/kernel/debug/lustre/sptlrpc/encrypt_page_pools */ int encrypt_page_pools_seq_show(struct seq_file *m, void *v) @@ -901,7 +910,7 @@ void sptlrpc_pool_put_desc_pages(struct ptlrpc_bulk_desc *desc) rc = __sptlrpc_pool_put_pages((void *)desc, desc->bd_iov_count, PAGES_POOL, page_from_bulkdesc); if (rc) - CDEBUG(D_SEC, "error putting pages in enc pool: %d\n", rc); + CDEBUG(D_SEC, "error putting pages in pool: %d\n", rc); OBD_FREE_LARGE(desc->bd_enc_vec, desc->bd_iov_count * sizeof(*desc->bd_enc_vec)); @@ -916,7 +925,7 @@ void sptlrpc_pool_put_pages_array(struct page **pa, unsigned int count) page_from_pagearray); if (rc) - CDEBUG(D_SEC, "error putting pages in enc pool: %d\n", rc); + CDEBUG(D_SEC, "error putting pages in pool: %d\n", rc); } EXPORT_SYMBOL(sptlrpc_pool_put_pages_array); @@ -928,7 +937,7 @@ void sptlrpc_pool_put_pages(void *buf, unsigned int order) PPOOL_ORDER_TO_INDEX(order), page_from_bufarray); if (rc) - CDEBUG(D_SEC, "error putting pages in enc pool: %d\n", rc); + CDEBUG(D_SEC, "error putting pages in pool: %d\n", rc); } EXPORT_SYMBOL(sptlrpc_pool_put_pages); @@ -992,8 +1001,16 @@ int sptlrpc_pool_init(void) int pool_index = 0, to_revert; int rc = 0; struct ptlrpc_page_pool *pool; + int pool_max_pages = cfs_totalram_pages() / POOLS_COUNT; ENTRY; + + if (pool_max_memory_mb == 0 && enc_pool_max_memory_mb > 0) + pool_max_memory_mb = enc_pool_max_memory_mb; + if (pool_max_memory_mb > 0 && + pool_max_memory_mb <= PAGES_TO_MiB(cfs_totalram_pages())) + pool_max_pages = MiB_TO_PAGES(pool_max_memory_mb); + OBD_ALLOC(page_pools, POOLS_COUNT * sizeof(*page_pools)); if (page_pools == NULL) RETURN(-ENOMEM); @@ -1003,12 +1020,7 @@ int sptlrpc_pool_init(void) GOTO(fail, rc = -ENOMEM); pool = page_pools[pool_index]; - pool->ppp_max_pages = - cfs_totalram_pages() / POOLS_COUNT; - if (enc_pool_max_memory_mb > 0 && - enc_pool_max_memory_mb <= (cfs_totalram_pages() >> mult)) - pool->ppp_max_pages = - enc_pool_max_memory_mb << mult; + pool->ppp_max_pages = pool_max_pages; pool->ppp_max_pools = npages_to_npools(pool->ppp_max_pages); -- 1.8.3.1