Messages in this thread | | | From | Thomas Renninger <> | Subject | Re: [PATCH] x86 e820: only void usable memory areas in memmap=exactmap case | Date | Tue, 15 Jan 2013 01:54:55 +0100 |
| |
On Monday, January 14, 2013 11:04:36 AM Yinghai Lu wrote: > On Mon, Jan 14, 2013 at 7:05 AM, Thomas Renninger <trenn@suse.de> wrote: > > What is this for?: > > @@ -871,6 +879,11 @@ static int __init parse_memmap_one(char > > > > userdef = 1; > > if (*p == '@') { > > > > start_at = memparse(p+1, &p); > > > > + if (exactusablemap_parsed) { > > + /* remove all range with other types */ > > + e820_remove_range(start_at, mem_size, > > + E820_RAM, 0); > > + } > > > > e820_add_region(start_at, mem_size, E820_RAM); > > > > } else if (*p == '#') { > > > > start_at = memparse(p+1, &p); > > remove all old renges before add E820_RAM, otherwise new add E820 > ranges could be ignored. But this is intended? kexec must never request reserved memory to be used as ordinary E820_RAM by the kdump kernel. This also reverts what exactusablemap is all about: Keep all reserved memory ranges of the original BIOS map.
Above would again wrongly remove the mmconf and other reserved regions if kexec passes memmap=exactuseablemap,x@y
From what I can see the patch looks fine, but above part should simply be left out.
Thomas
| |