Re: [PATCH - resend] Memory-Hotplug: Fix the bug on interface/dev/mem for 64-bit kernel(v1)

From: KAMEZAWA Hiroyuki
Date: Mon Jan 11 2010 - 19:33:52 EST


On Mon, 11 Jan 2010 20:43:03 +0800
Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:

> > > + /* if add to low memory, update max_low_pfn */
> > > + if (unlikely(start_pfn < limit_low_pfn)) {
> > > + if (end_pfn <= limit_low_pfn)
> > > + max_low_pfn = end_pfn;
> > > + else
> > > + max_low_pfn = limit_low_pfn;
> >
> > X86_64 actually always set max_low_pfn=max_pfn, in setup_arch():
> > [Zheng, Shaohui] there should be some misunderstanding, I read the
> > code carefully, if the total memory is under 4G, it always
> > max_low_pfn=max_pfn. If the total memory is larger than 4G,
> > max_low_pfn means the end of low ram. It set
>
> > max_low_pfn = e820_end_of_low_ram_pfn();.
>
> The above line is very misleading.. In setup_arch(), it will be
> overrode by the following block.
>

Hmmm....could you rewrite /dev/mem to use kernel/resource.c other than
modifing e820 maps. ?
Two reasons.
- e820map is considerted to be stable, read-only after boot.
- We don't need to add more x86 special codes.


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/