This type of workqueue according to comment in <linux/workqueue.h> is
same as regular @system_wq when power efficiency scheduler options
disabled.
For old kernels where @system_power_efficient_wq is not available use
regular @system_wq to support ipset on kernels below 3.11.
Fixes: 33f08da28324 ("netfilter: ipset: Fix "INFO: rcu detected stall in hash_xxx" reports")
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
if test -f $ksourcedir/include/linux/workqueue.h && \
$GREP -q 'system_power_efficient_wq' $ksourcedir/include/linux/workqueue.h; then
AC_MSG_RESULT(yes)
+ AC_SUBST(HAVE_SYSTEM_POWER_EFFICIENT_WQ, define)
else
AC_MSG_RESULT(no)
- AC_MSG_ERROR([Kernel source tree is too old, at least v3.11 is required])
+ AC_SUBST(HAVE_SYSTEM_POWER_EFFICIENT_WQ, undef)
fi
AC_MSG_CHECKING([kernel source for struct xt_action_param])
* xt_set.c, ip_set_core.c, ip_set_getport.c, pfxlen.c too.
*/
+#@HAVE_SYSTEM_POWER_EFFICIENT_WQ@ HAVE_SYSTEM_POWER_EFFICIENT_WQ
#@HAVE_STRUCT_XT_ACTION_PARAM@ HAVE_STRUCT_XT_ACTION_PARAM
#@HAVE_VZALLOC@ HAVE_VZALLOC
#@HAVE_ETHER_ADDR_EQUAL@ HAVE_ETHER_ADDR_EQUAL
#error "NETFILTER_NETLINK must be enabled: select NFACCT/NFQUEUE/LOG over NFNETLINK"
#endif
+#ifndef HAVE_SYSTEM_POWER_EFFICIENT_EQ
+#define system_power_efficient_wq system_wq
+#endif
+
#ifndef HAVE_STRUCT_XT_ACTION_PARAM
#define xt_action_param xt_match_param
#endif