[PATCH] memory hotplug locking: node_size_lock
[linux-2.6] / include / linux / memory_hotplug.h
1 #ifndef __LINUX_MEMORY_HOTPLUG_H
2 #define __LINUX_MEMORY_HOTPLUG_H
3
4 #include <linux/mmzone.h>
5 #include <linux/spinlock.h>
6
7 #ifdef CONFIG_MEMORY_HOTPLUG
8 /*
9  * pgdat resizing functions
10  */
11 static inline
12 void pgdat_resize_lock(struct pglist_data *pgdat, unsigned long *flags)
13 {
14         spin_lock_irqsave(&pgdat->node_size_lock, *flags);
15 }
16 static inline
17 void pgdat_resize_unlock(struct pglist_data *pgdat, unsigned long *flags)
18 {
19         spin_lock_irqrestore(&pgdat->node_size_lock, *flags);
20 }
21 static inline
22 void pgdat_resize_init(struct pglist_data *pgdat)
23 {
24         spin_lock_init(&pgdat->node_size_lock);
25 }
26 #else /* ! CONFIG_MEMORY_HOTPLUG */
27 /*
28  * Stub functions for when hotplug is off
29  */
30 static inline void pgdat_resize_lock(struct pglist_data *p, unsigned long *f) {}
31 static inline void pgdat_resize_unlock(struct pglist_data *p, unsigned long *f) {}
32 static inline void pgdat_resize_init(struct pglist_data *pgdat) {}
33 #endif
34 #endif /* __LINUX_MEMORY_HOTPLUG_H */