[PATCH v3 07/21] vmcore, procfs: introduce a flag to distinguish objects copied in 2nd kernel
Andrew Morton
akpm at linux-foundation.org
Tue Mar 19 15:35:31 EDT 2013
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
More information about the kexec
mailing list