Re: [PATCH] x86: split e820 reserved entries record to late v4 -fix v7

From: Ingo Molnar
Date: Thu Sep 04 2008 - 15:05:35 EST



* Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:

> v3: use reserve_region_with_split() instead to hand overlapping
> with test case by extend 0xe0000000 - 0xeffffff to 0xdd800000 -
> get
> e0000000-efffffff : PCI MMCONFIG 0
> e0000000-efffffff : reserved
> in /proc/iomem
> get
> found conflict for reserved [dd800000, efffffff], try to reserve with split
> __reserve_region_with_split: (PCI Bus #80) [dd000000, ddffffff], res: (reserved) [dd800000, efffffff]
> __reserve_region_with_split: (PCI Bus #00) [de000000, dfffffff], res: (reserved) [de000000, efffffff]
> initcall pci_subsys_init+0x0/0x121 returned 0 after 381 msecs
> in dmesg
>
> v4: take out __insert_resource and insert_resource_expand_to_fit : Linus already check in.
> use reserve_region_with_split at the first point
> use const char *name
>
> v5: fix checking on overlapping
>
> v6: only reserve common area in conflict
> so got sth in /proc/iomem
> d8000000-dfffffff : PCI Bus #00
> dc000000-dfffffff : GART
> dc000000-dfffffff : reserved
> e0000000-efffffff : PCI MMCONFIG 0
> e0000000-efffffff : reserved
> when we have big range in e820
> 00000000dc000000-00000000f0000000 (reserved)
>
> v7: remove wrong removing of write_unlock(&resource_lock) in adjust_resource()

i've applied the generic commit below to tip/core/resources, and merged
tip/core/resources into tip/x86/core, and added the remaining e820.c
oneliner change (attached below as well).

thanks Yinghai!

Ingo

-------------------->