[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