From bb750b8ded015c4447cc2eee601709f50d06574e Mon Sep 17 00:00:00 2001 From: Serhey Popovych Date: Fri, 29 Nov 2019 11:21:28 +0200 Subject: configure.ac: Add cond_resched_rcu() checks It was introduced with commit f6f3c437d09e ("sched: add cond_resched_rcu() helper") since v3.11 upstream kernel. To support building on older kernels add implementation to ip_set_compat.h. Signed-off-by: Serhey Popovych Signed-off-by: Jozsef Kadlecsik --- kernel/include/linux/netfilter/ipset/ip_set_compat.h.in | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'kernel/include/linux/netfilter') diff --git a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in index 5f12ad8..f4d7acc 100644 --- a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in +++ b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in @@ -50,6 +50,7 @@ #@HAVE_STRSCPY@ HAVE_STRSCPY #@HAVE_SYNCHRONIZE_RCU_BH@ HAVE_SYNCHRONIZE_RCU_BH #@HAVE_LOCKDEP_NFNL_IS_HELD@ HAVE_LOCKDEP_NFNL_IS_HELD +#@HAVE_COND_RESCHED_RCU@ HAVE_COND_RESCHED_RCU #ifdef HAVE_EXPORT_SYMBOL_GPL_IN_MODULE_H #include @@ -148,6 +149,17 @@ do { \ #endif #endif +#ifndef HAVE_COND_RESCHED_RCU +static inline void cond_resched_rcu(void) +{ +#if defined(CONFIG_DEBUG_ATOMIC_SLEEP) || !defined(CONFIG_PREEMPT_RCU) + rcu_read_unlock(); + cond_resched(); + rcu_read_lock(); +#endif +} +#endif + #if defined(CONFIG_NETFILTER_NETLINK) || defined(CONFIG_NETFILTER_NETLINK_MODULE) #else #error "NETFILTER_NETLINK must be enabled: select NFACCT/NFQUEUE/LOG over NFNETLINK" -- cgit v1.2.3