]> git.proxmox.com Git - mirror_zfs.git/commit - module/zfs/spa.c
Implement memory and CPU hotplug
authorPaul Dagnelie <paulcd2000@gmail.com>
Thu, 10 Dec 2020 22:09:23 +0000 (14:09 -0800)
committerGitHub <noreply@github.com>
Thu, 10 Dec 2020 22:09:23 +0000 (14:09 -0800)
commit60a4c7d2a2f8e8123e3c2e45d1773b5849f74b16
tree6b524ac39fb098004ed115ff9fc14b10350d28a4
parentf483daa870e7d129ea988f976429e1210e8aa2e6
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
14 files changed:
config/kernel-hotplug.m4 [new file with mode: 0644]
config/kernel.m4
include/os/linux/spl/sys/taskq.h
include/sys/arc.h
include/sys/arc_impl.h
module/os/freebsd/zfs/arc_os.c
module/os/linux/spl/spl-taskq.c
module/os/linux/zfs/arc_os.c
module/zfs/aggsum.c
module/zfs/arc.c
module/zfs/dsl_pool.c
module/zfs/multilist.c
module/zfs/spa.c
module/zfs/txg.c