aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys
diff options
context:
space:
mode:
authorPaul Dagnelie <[email protected]>2020-12-10 14:09:23 -0800
committerGitHub <[email protected]>2020-12-10 14:09:23 -0800
commit60a4c7d2a2f8e8123e3c2e45d1773b5849f74b16 (patch)
tree6b524ac39fb098004ed115ff9fc14b10350d28a4 /include/sys
parentf483daa870e7d129ea988f976429e1210e8aa2e6 (diff)
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 <[email protected]> Co-authored-by: Matthew Ahrens <[email protected]> Co-authored-by: Brian Behlendorf <[email protected]> Signed-off-by: Paul Dagnelie <[email protected]> Closes #11212
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/arc.h1
-rw-r--r--include/sys/arc_impl.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/include/sys/arc.h b/include/sys/arc.h
index 9ade1a432..f58fa53b6 100644
--- a/include/sys/arc.h
+++ b/include/sys/arc.h
@@ -310,6 +310,7 @@ int arc_tempreserve_space(spa_t *spa, uint64_t reserve, uint64_t txg);
uint64_t arc_all_memory(void);
uint64_t arc_default_max(uint64_t min, uint64_t allmem);
uint64_t arc_target_bytes(void);
+void arc_set_limits(uint64_t);
void arc_init(void);
void arc_fini(void);
diff --git a/include/sys/arc_impl.h b/include/sys/arc_impl.h
index b08a42c75..6adcd4b54 100644
--- a/include/sys/arc_impl.h
+++ b/include/sys/arc_impl.h
@@ -926,6 +926,8 @@ extern int arc_memory_throttle(spa_t *spa, uint64_t reserve, uint64_t txg);
extern uint64_t arc_free_memory(void);
extern int64_t arc_available_memory(void);
extern void arc_tuning_update(boolean_t);
+extern void arc_register_hotplug(void);
+extern void arc_unregister_hotplug(void);
extern int param_set_arc_long(ZFS_MODULE_PARAM_ARGS);
extern int param_set_arc_int(ZFS_MODULE_PARAM_ARGS);