mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-01-14 09:12:11 +03:00
Silence zstd large allocation warning
Allow zstd_mempool_init() to allocate using vmem_alloc() instead of kmem_alloc() to silence the large allocation warning on Linux during module load when the system has a large number of CPUs. It's not at all clear to me that scaling the allocation size with the number of CPUs is beneficial and that should be evaluated. But for the moment this should resolve the warning without introducing any unexpected side effects. Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com> Reviewed-by: Rob Norris <robn@despairlabs.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #17620 Closes #11557
This commit is contained in:
parent
1ccae433e9
commit
152e34822b
@ -795,9 +795,9 @@ static void __init
|
||||
zstd_mempool_init(void)
|
||||
{
|
||||
zstd_mempool_cctx =
|
||||
kmem_zalloc(ZSTD_POOL_MAX * sizeof (struct zstd_pool), KM_SLEEP);
|
||||
vmem_zalloc(ZSTD_POOL_MAX * sizeof (struct zstd_pool), KM_SLEEP);
|
||||
zstd_mempool_dctx =
|
||||
kmem_zalloc(ZSTD_POOL_MAX * sizeof (struct zstd_pool), KM_SLEEP);
|
||||
vmem_zalloc(ZSTD_POOL_MAX * sizeof (struct zstd_pool), KM_SLEEP);
|
||||
|
||||
for (int i = 0; i < ZSTD_POOL_MAX; i++) {
|
||||
mutex_init(&zstd_mempool_cctx[i].barrier, NULL,
|
||||
@ -843,8 +843,8 @@ zstd_mempool_deinit(void)
|
||||
release_pool(&zstd_mempool_dctx[i]);
|
||||
}
|
||||
|
||||
kmem_free(zstd_mempool_dctx, ZSTD_POOL_MAX * sizeof (struct zstd_pool));
|
||||
kmem_free(zstd_mempool_cctx, ZSTD_POOL_MAX * sizeof (struct zstd_pool));
|
||||
vmem_free(zstd_mempool_dctx, ZSTD_POOL_MAX * sizeof (struct zstd_pool));
|
||||
vmem_free(zstd_mempool_cctx, ZSTD_POOL_MAX * sizeof (struct zstd_pool));
|
||||
zstd_mempool_dctx = NULL;
|
||||
zstd_mempool_cctx = NULL;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user