mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 03:37:45 +03:00
Implement memory and CPU hotplug
ZFS currently doesn't react to hotplugging cpu or memory into the system in any way. This patch changes that by adding logic to the ARC that allows the system to take advantage of new memory that is added for caching purposes. It also adds logic to the taskq infrastructure to support dynamically expanding the number of threads allocated to a taskq. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Co-authored-by: Matthew Ahrens <matthew.ahrens@delphix.com> Co-authored-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Paul Dagnelie <pcd@delphix.com> Closes #11212
This commit is contained in:
+4
-4
@@ -1281,15 +1281,15 @@ spa_activate(spa_t *spa, spa_mode_t mode)
|
||||
* pool traverse code from monopolizing the global (and limited)
|
||||
* system_taskq by inappropriately scheduling long running tasks on it.
|
||||
*/
|
||||
spa->spa_prefetch_taskq = taskq_create("z_prefetch", boot_ncpus,
|
||||
defclsyspri, 1, INT_MAX, TASKQ_DYNAMIC);
|
||||
spa->spa_prefetch_taskq = taskq_create("z_prefetch", 100,
|
||||
defclsyspri, 1, INT_MAX, TASKQ_DYNAMIC | TASKQ_THREADS_CPU_PCT);
|
||||
|
||||
/*
|
||||
* The taskq to upgrade datasets in this pool. Currently used by
|
||||
* feature SPA_FEATURE_USEROBJ_ACCOUNTING/SPA_FEATURE_PROJECT_QUOTA.
|
||||
*/
|
||||
spa->spa_upgrade_taskq = taskq_create("z_upgrade", boot_ncpus,
|
||||
defclsyspri, 1, INT_MAX, TASKQ_DYNAMIC);
|
||||
spa->spa_upgrade_taskq = taskq_create("z_upgrade", 100,
|
||||
defclsyspri, 1, INT_MAX, TASKQ_DYNAMIC | TASKQ_THREADS_CPU_PCT);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user