Commit 82524746 authored by Franck Bui-Huu's avatar Franck Bui-Huu Committed by Ingo Molnar

rcu: split list.h and move rcu-protected lists into rculist.h

Move rcu-protected lists from list.h into a new header file rculist.h.

This is done because list are a very used primitive structure all over the
kernel and it's currently impossible to include other header files in this
list.h without creating some circular dependencies.

For example, list.h implements rcu-protected list and uses rcu_dereference()
without including rcupdate.h.  It actually compiles because users of
rcu_dereference() are macros.  Others RCU functions could be used too but
aren't probably because of this.

Therefore this patch creates rculist.h which includes rcupdates without to
many changes/troubles.
Signed-off-by: default avatarFranck Bui-Huu <fbuihuu@gmail.com>
Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: default avatarJosh Triplett <josh@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 32300751
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/rculist.h>
#include <asm/sn/addrs.h> #include <asm/sn/addrs.h>
#include <asm/sn/arch.h> #include <asm/sn/arch.h>
#include <asm/sn/intr.h> #include <asm/sn/intr.h>
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
* *
*/ */
#include <linux/rculist.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/async_tx.h> #include <linux/async_tx.h>
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <rdma/ib_user_verbs.h> #include <rdma/ib_user_verbs.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/utsname.h> #include <linux/utsname.h>
#include <linux/rculist.h>
#include "ipath_kernel.h" #include "ipath_kernel.h"
#include "ipath_verbs.h" #include "ipath_verbs.h"
......
...@@ -31,8 +31,7 @@ ...@@ -31,8 +31,7 @@
* SOFTWARE. * SOFTWARE.
*/ */
#include <linux/list.h> #include <linux/rculist.h>
#include <linux/rcupdate.h>
#include "ipath_verbs.h" #include "ipath_verbs.h"
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/list.h> #include <linux/rculist.h>
#include <linux/notifier.h> #include <linux/notifier.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <asm/atomic.h> #include <asm/atomic.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/rculist.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/cache.h> #include <linux/cache.h>
#include <linux/rcupdate.h> #include <linux/rcupdate.h>
......
This diff is collapsed.
This diff is collapsed.
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/rculist.h>
#include <linux/bootmem.h> #include <linux/bootmem.h>
#include <linux/hash.h> #include <linux/hash.h>
#include <linux/pid_namespace.h> #include <linux/pid_namespace.h>
......
...@@ -97,6 +97,7 @@ ...@@ -97,6 +97,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/rculist.h>
#include <linux/rcupdate.h> #include <linux/rcupdate.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/textsearch.h> #include <linux/textsearch.h>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/in.h> #include <linux/in.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/rculist.h>
static LIST_HEAD(snap_list); static LIST_HEAD(snap_list);
static DEFINE_SPINLOCK(snap_lock); static DEFINE_SPINLOCK(snap_lock);
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/in.h> #include <linux/in.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/rculist.h>
#include <net/p8022.h> #include <net/p8022.h>
#include <net/arp.h> #include <net/arp.h>
#include <linux/rtnetlink.h> #include <linux/rtnetlink.h>
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/rculist.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/times.h> #include <linux/times.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
* 2 of the License, or (at your option) any later version. * 2 of the License, or (at your option) any later version.
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/rculist.h>
#include "br_private.h" #include "br_private.h"
#include "br_private_stp.h" #include "br_private_stp.h"
......
...@@ -30,8 +30,7 @@ ...@@ -30,8 +30,7 @@
*/ */
#include <linux/types.h> #include <linux/types.h>
#include <linux/rcupdate.h> #include <linux/rculist.h>
#include <linux/list.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/string.h> #include <linux/string.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment