Re: Virtual address space exhaustion (was Discontigmem virt_to_page() )

From: Daniel Phillips (phillips@bonn-fries.net)
Date: Fri May 03 2002 - 13:08:33 EST


On Friday 03 May 2002 18:58, Andrea Arcangeli wrote:
> On Fri, May 03, 2002 at 06:41:15PM +0200, Daniel Phillips wrote:
> > On Friday 03 May 2002 18:20, Andrea Arcangeli wrote:
> > > On Fri, May 03, 2002 at 06:02:18PM +0200, Daniel Phillips wrote:
> > > > and solves 75% of the problem. It's not just ia32 numa that will benefit
> > > > from it. For example, MIPS supports 16K pages in software, which will
> > >
> > > the whole change would be specific to ia32, I don't see the connection
> > > with mips. There would be nothing to share between ia32 2M pages and
> > > mips 16K pages.
> >
> > The topic here is 'page clustering'. The idea is to use one struct page for
> > every four 4K page frames on ia32.
>
> ah ok, I meant physical hardware pages. physical hardware pages should
> be doable without common code changes, a software PAGE_SIZE or the
> PAGE_CACHE_SIZE raises non trivial problems instead.

Yes, it's not too bad though. In the swap-in path, the locking would be against
mem_map + (pfn >> 2). The four pages don't have to be read in and valid all at
the same time - it's ok to take multiple faults on the cluster, not recommended,
but ok. In the swap-out path, all four page frames have to be swapped out and
invalidated at the same time.

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



This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:20 EST