]> git.ipfire.org Git - thirdparty/ipset.git/commitdiff
Kill sched.h dependency on rcupdate.h
authorKent Overstreet <kent.overstreet@linux.dev>
Wed, 22 May 2024 18:06:35 +0000 (20:06 +0200)
committerJozsef Kadlecsik <kadlec@netfilter.org>
Wed, 22 May 2024 18:06:35 +0000 (20:06 +0200)
by moving cond_resched_rcu() to rcupdate_wait.h, we can kill another big
sched.h dependency.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
configure.ac
kernel/include/linux/netfilter/ipset/ip_set_compat.h.in
kernel/net/netfilter/ipset/ip_set_bitmap_gen.h
kernel/net/netfilter/ipset/ip_set_hash_gen.h

index 5f1be0e7de9b6fe18ec8274bb89aa16a2eee0f92..fa0e69689c44f0e94b9fd73946595d3fe3f9c6d9 100644 (file)
@@ -900,6 +900,15 @@ else
        AC_SUBST(HAVE_NF_BRIDGE_GET_PYSINDEV_NET, undef)
 fi
 
+AC_MSG_CHECKING([kernel source for rcupdate_wait.h])
+if test -f $ksourcedir/include/linux/rcupdate_wait.h; then
+       AC_MSG_RESULT(yes)
+       AC_SUBST(HAVE_RCUPDATE_WAIT_H, define)
+else
+       AC_MSG_RESULT(no)
+       AC_SUBST(HAVE_RCUPDATE_WAIT_H, undef)
+fi
+
 AC_MSG_CHECKING([kernel source for struct net_generic])
 if test -f $ksourcedir/include/net/netns/generic.h && \
    $GREP -q 'struct net_generic' $ksourcedir/include/net/netns/generic.h; then
index 8878da9ab9faeb9f1c2a13738dec4b36f86e2665..3a0e0b415f1551b9eb9b5a4087fac772d01ca650 100644 (file)
@@ -70,6 +70,7 @@
 #@HAVE_EAGAIN_IN_NFNETLINK_UNICAST@ HAVE_EAGAIN_IN_NFNETLINK_UNICAST
 #@HAVE_NLMSG_UNICAST@ HAVE_NLMSG_UNICAST
 #@HAVE_NF_BRIDGE_GET_PYSINDEV_NET@ HAVE_NF_BRIDGE_GET_PYSINDEV_NET
+#@HAVE_RCUPDATE_WAIT_H@ HAVE_RCUPDATE_WAIT_H
 
 #ifdef HAVE_EXPORT_SYMBOL_GPL_IN_MODULE_H
 #include <linux/module.h>
@@ -168,6 +169,7 @@ do {                                \
 #endif
 #endif
 
+#ifndef HAVE_RCUPDATE_WAIT_H
 #ifndef HAVE_COND_RESCHED_RCU
 static inline void cond_resched_rcu(void)
 {
@@ -178,6 +180,7 @@ static inline void cond_resched_rcu(void)
 #endif
 }
 #endif
+#endif
 
 #if defined(CONFIG_NETFILTER_NETLINK) || defined(CONFIG_NETFILTER_NETLINK_MODULE)
 #else
index 3245b6b22d1d751460d6860450861301f0c0ede3..9db4db910793695c7865e3fedc677e3485fb6979 100644 (file)
@@ -5,6 +5,10 @@
 #ifndef __IP_SET_BITMAP_IP_GEN_H
 #define __IP_SET_BITMAP_IP_GEN_H
 
+#ifdef HAVE_RCUPDATE_WAIT_H
+#include <linux/rcupdate_wait.h>
+#endif
+
 #define mtype_do_test          IPSET_TOKEN(MTYPE, _do_test)
 #define mtype_gc_test          IPSET_TOKEN(MTYPE, _gc_test)
 #define mtype_is_filled                IPSET_TOKEN(MTYPE, _is_filled)
index 76c3894e58294cea64107729bf074bf43a223ea0..0ebe3bedeb5e3bda76b6be8322c2f0369052b095 100644 (file)
@@ -6,6 +6,9 @@
 #define _IP_SET_HASH_GEN_H
 
 #include <linux/rcupdate.h>
+#ifdef HAVE_RCUPDATE_WAIT_H
+#include <linux/rcupdate_wait.h>
+#endif
 #include <linux/jhash.h>
 #include <linux/types.h>
 #include <linux/netfilter/nfnetlink.h>