* Yinghai Lu <[EMAIL PROTECTED]> wrote:

> > btw., it would be nice to have some "lots of RAM simulation" 
> > debugging code which would just _fake_ a really large e820 map and 
> > would in the end throw away the 'fake' pages later during bootup. 
> > Perhaps tell the early allocator to never allocate into these fake 
> > areas [via an struct e820 entry flag], but all our sizing code and 
> > the boot bitmaps, etc. would be sized accordingly, as if we had this 
> > much RAM - and we'd trigger these nuances. We could put this into a 
> > new "fakemem=128GB" boot option and hence we could boot with 
> > fakemem=128GB on a 2GB box and could at least hope to be able to 
> > boot [with some serious amount of RAM wasted on over-sized 
> > pagetables, allocator bitmaps and mem_map[]]. Hm?
> 
> sound interesting. but need some variable to prevent using non exist 
> page.

yeah, exactly. You could try into using the "PG_arch_1" struct page 
->flags bit - it's not utilized on x86. That way we could avoid free-ing 
it into the general page pool. We could check for it in 
arch/x86/mm/init_64.c's online_page() function [that's where we release 
most pages into the page pool].

Perhaps it might also be handy to introduce a page_is_fake_ram(addr) 
method that searches the e820 maps for fake ram, to make sure we never 
allocate such ranges.

Such a feature would be very useful.

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

Reply via email to