On Sat, 16 Mar 2013 13:01:26 +0900 HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> wrote: > The part of dump target memory is copied into the 2nd kernel if it > doesn't satisfy mmap()'s page-size boundary requirement. To > distinguish such copied object from usual old memory, a flag > MEM_TYPE_CURRENT_KERNEL is introduced. If this flag is set, the object > is considered being copied into buffer on the 2nd kernel. > I don't understand this description at all :( Perhaps we can have a lengthier version which expands on the concepts a bit further? > --- a/include/linux/proc_fs.h > +++ b/include/linux/proc_fs.h > @@ -97,11 +97,17 @@ struct kcore_list { > int type; > }; > > +#define MEM_TYPE_CURRENT_KERNEL 0x1 A comment describing this would be useful. > struct vmcore { > struct list_head list; > - unsigned long long paddr; > + union { > + unsigned long long paddr; > + char *buf; > + }; This change wasn't described in the changelog? > unsigned long long size; > loff_t offset; > + unsigned int flag; Presumably this is the place where we put MEM_TYPE_CURRENT_KERNEL? That's unobvious from reading the code. Add the text "vmcore.flag fields:" above the MEM_TYPE_CURRENT_KERNEL definition. > }; > > #ifdef CONFIG_PROC_FS