diff options
author | HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com> | 2015-02-20 10:18:41 +0900 |
---|---|---|
committer | Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp> | 2015-02-20 13:47:05 +0900 |
commit | 37afcd52ac5dd276a51af51cbee9531b91911bfa (patch) | |
tree | de8d640fd52ac6d78d84ba038f3b9ce7becd6de0 /sadump_mod.h | |
parent | 7b555694bf5af122315c304fb439ed4c33e12063 (diff) |
[PATCH] sadump: Support more than 16TB physical memory space.
This patch makes sadump format support more than 16TB physical memory
space.
The limitation is caused by several members of dump_header structure:
max_mapnr and the others. They have 4 byte length only. In particular,
max_mapnr member gets overflow if more than 16TB physical memory space
is given.
To support more than 16TB physical memory space, this patch adds new 4
64-bit length members in dump_header structure:
- max_mapnr_64
- total_ram_blocks_64
- device_blocks_64
- written_blocks_64
Next table shows correspondence between the 32-bit version and the
64-bit version members:
| 32-bit version | 64-bit version |
|------------------------+---------------------------|
| max_mapnr | max_mapnr_64 |
| total_ram_blocks | total_ram_blocks_64 |
| device_blocks | device_blocks_64 |
| written_blocks | written_blocks_64 |
In addition, header_version member of dump_header structure is
increased to 1 in this extended new format.
Old makedumpfile can access the new sadump format under 16TB
correctly.
Current implementation treats vmcore with kernel version 2 or later as
kernel version 1, assuming backward compatibility.
Signed-off-by: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Diffstat (limited to 'sadump_mod.h')
-rw-r--r-- | sadump_mod.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sadump_mod.h b/sadump_mod.h index afeead8..0dd5bb5 100644 --- a/sadump_mod.h +++ b/sadump_mod.h @@ -106,6 +106,14 @@ struct sadump_header { uint32_t written_blocks; /* Number of written blocks */ uint32_t current_cpu; /* CPU# which handles dump */ uint32_t nr_cpus; /* Number of CPUs */ + /* + * The members from below are supported in header version 1 + * and later. + */ + uint64_t max_mapnr_64; + uint64_t total_ram_blocks_64; + uint64_t device_blocks_64; + uint64_t written_blocks_64; }; struct sadump_apic_state { |