lkml.org 
[lkml]   [2012]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] kdump x86: fix total mem size calculation for reservation
On 03/09/2012 04:30 PM, Dave Young wrote:
> crashkernel reservation need know the total memory size. Current get_total_mem
> simply use max_pfn - min_low_pfn. It is wrong because it will including
> memory holes in the middle.
>
> Especially for kvm guest with memory> 0xe0000000, there's below in qemu code:
> qemu split memory as below:
> if (ram_size>= 0xe0000000 ) {
> above_4g_mem_size = ram_size - 0xe0000000;
> below_4g_mem_size = 0xe0000000;
> } else {
> below_4g_mem_size = ram_size;
> }
> So for 4G mem guest, seabios will insert a 512M usable region beyond of 4G.
> Thus in above case max_pfn - min_low_pfn will be more than original memsize.
>
> Fixing this issue by using memblock_phys_mem_size() to get the total memsize.
>

Makes sense for me!

> -static inline unsigned long long get_total_mem(void)
> -{
> - unsigned long long total;
> -
> - total = max_pfn - min_low_pfn;
> - printk("hidave: memsize=%llu\n", memblock_phys_mem_size());

This debugging line does not exist... so this patch can't be applied.


\
 
 \ /
  Last update: 2012-03-10 04:31    [W:0.046 / U:0.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site