diff options
| author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-01-11 10:28:19 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-01-11 10:28:19 -0500 |
| commit | 734d1ece37fbf3d2ddfc71bc6c69e0fe35f02542 (patch) | |
| tree | c4805dd7e746b1feb9e09e9849f3245d0b2c0c6b /include/linux/memory_hotplug.h | |
| parent | 216c82c6aba63eeb49d7654b448e0d47bea255bb (diff) | |
| parent | 9931faca02c604c22335f5a935a501bb2ace6e20 (diff) | |
Merge tag 'v3.8-rc3' into v4l_for_linus
Linux 3.8-rc3
* tag 'v3.8-rc3': (11110 commits)
Linux 3.8-rc3
mm: reinstante dropped pmd_trans_splitting() check
cred: Remove tgcred pointer from struct cred
drm/ttm: fix fence locking in ttm_buffer_object_transfer
ARM: clps711x: Fix bad merge of clockevents setup
ARM: highbank: save and restore L2 cache and GIC on suspend
ARM: highbank: add a power request clear
ARM: highbank: fix secondary boot and hotplug
ARM: highbank: fix typos with hignbank in power request functions
ARM: dts: fix highbank cpu mpidr values
ARM: dts: add device_type prop to cpu nodes on Calxeda platforms
drm/prime: drop reference on imported dma-buf come from gem
xen/netfront: improve truesize tracking
ARM: mx5: Fix MX53 flexcan2 clock
ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
sctp: fix Kconfig bug in default cookie hmac selection
EDAC: Cleanup device deregistering path
EDAC: Fix EDAC Kconfig menu
EDAC: Fix kernel panic on module unloading
ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec)
...
Diffstat (limited to 'include/linux/memory_hotplug.h')
| -rw-r--r-- | include/linux/memory_hotplug.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index 95573ec4ee6c..4a45c4e50025 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h | |||
| @@ -26,6 +26,13 @@ enum { | |||
| 26 | MEMORY_HOTPLUG_MAX_BOOTMEM_TYPE = NODE_INFO, | 26 | MEMORY_HOTPLUG_MAX_BOOTMEM_TYPE = NODE_INFO, |
| 27 | }; | 27 | }; |
| 28 | 28 | ||
| 29 | /* Types for control the zone type of onlined memory */ | ||
| 30 | enum { | ||
| 31 | ONLINE_KEEP, | ||
| 32 | ONLINE_KERNEL, | ||
| 33 | ONLINE_MOVABLE, | ||
| 34 | }; | ||
| 35 | |||
| 29 | /* | 36 | /* |
| 30 | * pgdat resizing functions | 37 | * pgdat resizing functions |
| 31 | */ | 38 | */ |
| @@ -46,6 +53,10 @@ void pgdat_resize_init(struct pglist_data *pgdat) | |||
| 46 | } | 53 | } |
| 47 | /* | 54 | /* |
| 48 | * Zone resizing functions | 55 | * Zone resizing functions |
| 56 | * | ||
| 57 | * Note: any attempt to resize a zone should has pgdat_resize_lock() | ||
| 58 | * zone_span_writelock() both held. This ensure the size of a zone | ||
| 59 | * can't be changed while pgdat_resize_lock() held. | ||
| 49 | */ | 60 | */ |
| 50 | static inline unsigned zone_span_seqbegin(struct zone *zone) | 61 | static inline unsigned zone_span_seqbegin(struct zone *zone) |
| 51 | { | 62 | { |
| @@ -71,7 +82,7 @@ extern int zone_grow_free_lists(struct zone *zone, unsigned long new_nr_pages); | |||
| 71 | extern int zone_grow_waitqueues(struct zone *zone, unsigned long nr_pages); | 82 | extern int zone_grow_waitqueues(struct zone *zone, unsigned long nr_pages); |
| 72 | extern int add_one_highpage(struct page *page, int pfn, int bad_ppro); | 83 | extern int add_one_highpage(struct page *page, int pfn, int bad_ppro); |
| 73 | /* VM interface that may be used by firmware interface */ | 84 | /* VM interface that may be used by firmware interface */ |
| 74 | extern int online_pages(unsigned long, unsigned long); | 85 | extern int online_pages(unsigned long, unsigned long, int); |
| 75 | extern void __offline_isolated_pages(unsigned long, unsigned long); | 86 | extern void __offline_isolated_pages(unsigned long, unsigned long); |
| 76 | 87 | ||
| 77 | typedef void (*online_page_callback_t)(struct page *page); | 88 | typedef void (*online_page_callback_t)(struct page *page); |
