Messages in this thread | | | From | Daniel Phillips <> | Subject | Re: Virtual address space exhaustion (was Discontigmem virt_to_page() ) | Date | Fri, 3 May 2002 20:08:33 +0200 |
| |
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/
| |