[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1657 (linux mm)] New - page table sharing for huge shared segments (mainly x86 ??)



http://distro.conectiva.com.br/bugzilla/show_bug.cgi?id=1657

           Summary: page table sharing for huge shared segments (mainly x86
                    ??)
           Product: Linux kernel MM
           Version: 2.5 (beta)
          Platform: All
               URL:
        OS/Version: Linux
            Status: UNCONFIRMED
 Status Whiteboard:
          Keywords:
        Resolution:
          Severity: enhancement
          Priority: P3
         Component: linux mm
        AssignedTo: linux-mm-bugs@nl.linux.org
        ReportedBy: riel@conectiva.com.br


On an Oracle / SAP workload Linux has the following problems:

1. 850 MB limit on kernel direct mapped memory
2. suppose 500 processes w/ 1GB shared segment  -> 500MB of pagetable overhead
   wastes memory and fills up kernel virtual address space
3. evicting pages requires us to scan 500 address spaces to swap out the page

If, however, we force the large mappings of SHM segments and files to be 4MB
aligned, we can share the page tables and:

1. reduce page table overhead
2. don't fill up kernel virtual memory
3. make page eviction easier

An easy way to achieve this would be to have an "own" mm_struct for the shared
segments and simply "attach" the page tables of the shared segments into the
tasks. That way kswapd can scan the page tables of the shared segments to evict
pages and overhead will just be lower...

Comments ?
-
Linux-mm-bugs:  bugzilla list for the Linux-MM subsystem
Archive:        http://mail.nl.linux.org/linux-mm-bugs/
Web site:       http://www.linux.eu.org/Linux-MM/
Development:    linux-mm@kvack.org