forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Backport memory and CPU hotplug to 6.0.6.0 (openzfs#242)
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 openzfs#11212
- Loading branch information
1 parent
1045699
commit 5592f89
Showing
14 changed files
with
290 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
dnl # | ||
dnl # 4.6 API change | ||
dnl # Added CPU hotplug APIs | ||
dnl # | ||
AC_DEFUN([ZFS_AC_KERNEL_SRC_CPU_HOTPLUG], [ | ||
ZFS_LINUX_TEST_SRC([cpu_hotplug], [ | ||
#include <linux/cpuhotplug.h> | ||
],[ | ||
enum cpuhp_state state = CPUHP_ONLINE; | ||
int (*fp)(unsigned int, struct hlist_node *) = NULL; | ||
cpuhp_state_add_instance_nocalls(0, (struct hlist_node *)NULL); | ||
cpuhp_state_remove_instance_nocalls(0, (struct hlist_node *)NULL); | ||
cpuhp_setup_state_multi(state, "", fp, fp); | ||
cpuhp_remove_multi_state(0); | ||
]) | ||
]) | ||
|
||
AC_DEFUN([ZFS_AC_KERNEL_CPU_HOTPLUG], [ | ||
AC_MSG_CHECKING([whether CPU hotplug APIs exist]) | ||
ZFS_LINUX_TEST_RESULT([cpu_hotplug], [ | ||
AC_MSG_RESULT(yes) | ||
AC_DEFINE(HAVE_CPU_HOTPLUG, 1, [yes]) | ||
],[ | ||
AC_MSG_RESULT(no) | ||
]) | ||
]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.