Re: [PATCH] memory hotadd fixes [4/5] avoid check in acpi

From: KAMEZAWA Hiroyuki
Date: Thu Aug 03 2006 - 20:43:53 EST


On Thu, 03 Aug 2006 17:13:16 -0700
keith mannthey <kmannth@xxxxxxxxxx> wrote:

> On Thu, 2006-08-03 at 12:36 +0900, KAMEZAWA Hiroyuki wrote:
> > add_memory() does all necessary check to avoid collision.
> > then, acpi layer doesn't have to check region by itself.
> >
> > (*) pfn_valid() just returns page struct is valid or not. It returns 0
> > if a section has been already added even is ioresource is not added.
> > ioresource collision check in mm/memory_hotplug.c can do more precise
> > collistion check.
> > added enabled bit check just for sanity check..
> >
> > Signed-Off-By: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>
> > - start_pfn = info->start_addr >> PAGE_SHIFT;
> > - end_pfn = (info->start_addr + info->length - 1) >> PAGE_SHIFT;
> > -
> > - if (pfn_valid(start_pfn) || pfn_valid(end_pfn)) {
>
> This check needs to go somewhare in the add path. I am thinking of a
> validate_add_memory_area call in add_memory (that can also be flexable
> to enable the reserve check of (this memory area in add_nodes).
>
> It is a useful protection for the sparsemem add path. I would rather
> the kernel be able to stand up to odd acpi namespaces or other
> mechanisms of invoking add_memory.
>
Hmm..Okay. I'll try some check patch today. please review it.
Maybe moving ioresouce collision check in early stage of add_memory() is good ?

Note:
I remove pfn_valid() here because pfn_valid() just says section exists or
not. When adding seveal small memory chunks in one section, Only the first
small chunk can be added.

Thanks,
-Kame


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/