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
27 lines
720 B
Plaintext
27 lines
720 B
Plaintext
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)
|
|
])
|
|
])
|