diff options
author | Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp> | 2013-04-29 18:07:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 18:54:34 -0400 |
commit | 13ba3fcbbe31068b1ee7c39a0b58ecbed03c4d72 (patch) | |
tree | 07991835bdf224ec3d4fcc1ce630d4b8c08b1c41 /mm/vmalloc.c | |
parent | 4341fa454796b8a37efd5db98112524e85e7114e (diff) |
kexec, vmalloc: export additional vmalloc layer information
Now, vmap_area_list is exported as VMCOREINFO for makedumpfile to get
the start address of vmalloc region (vmalloc_start). The address which
contains vmalloc_start value is represented as below:
vmap_area_list.next - OFFSET(vmap_area.list) + OFFSET(vmap_area.va_start)
However, both OFFSET(vmap_area.va_start) and OFFSET(vmap_area.list)
aren't exported as VMCOREINFO.
So this patch exports them externally with small cleanup.
[akpm@linux-foundation.org: vmalloc.h should include list.h for list_head]
Signed-off-by: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
Cc: Joonsoo Kim <js1304@gmail.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Dave Anderson <anderson@redhat.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/vmalloc.c')
-rw-r--r-- | mm/vmalloc.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 151da8ac53fa..72043d6c88c0 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -249,17 +249,6 @@ EXPORT_SYMBOL(vmalloc_to_pfn); | |||
249 | #define VM_LAZY_FREEING 0x02 | 249 | #define VM_LAZY_FREEING 0x02 |
250 | #define VM_VM_AREA 0x04 | 250 | #define VM_VM_AREA 0x04 |
251 | 251 | ||
252 | struct vmap_area { | ||
253 | unsigned long va_start; | ||
254 | unsigned long va_end; | ||
255 | unsigned long flags; | ||
256 | struct rb_node rb_node; /* address sorted rbtree */ | ||
257 | struct list_head list; /* address sorted list */ | ||
258 | struct list_head purge_list; /* "lazy purge" list */ | ||
259 | struct vm_struct *vm; | ||
260 | struct rcu_head rcu_head; | ||
261 | }; | ||
262 | |||
263 | static DEFINE_SPINLOCK(vmap_area_lock); | 252 | static DEFINE_SPINLOCK(vmap_area_lock); |
264 | /* Export for kexec only */ | 253 | /* Export for kexec only */ |
265 | LIST_HEAD(vmap_area_list); | 254 | LIST_HEAD(vmap_area_list); |