Messages in this thread | | | Date | Tue, 18 Jul 2006 18:03:54 +0800 | From | "yunfeng zhang" <> | Subject | Improvement on memory subsystem |
| |
Dear Linux core memory developers:
It's my pleasure to show some ideas in my OS named Zero to you, the features listed below, I think, can be introduced into Linux 2.6.16.1 and later. The following section is divided into two parts by the implmentation difficulty.
Minor improvement. 1. Apply dlmalloc arithmetic (http://g.oswego.edu/dl/html/malloc.html) on memory page allocation instead of buddy arithmetic. As the result, we can get more consecutive memory pages easily. 2. Read-ahead process during page-in/out (page fault or swap out) should be based on its VMA to enhance IO efficiency instead of the relative physical pages in swap space. 3. All slabs are all off-slab type. Store slab instance in page structure. 4. Introduce PrivateVMA class and discard anonymous VMA to simplify the relationship between VMA and its pages. When a VMA is split/combined, update the member mapping of all relating pages. In fact, those methods should be rare to use. 5. Add a lock bit in pte. Note, the feature want CPU preserves a programer available bit in pte. So we can avoid to allocate page before locking the pte during do_anonymous_page, in other words, relief memory page allocation pressure. 6. Swap out pages by scaning all vmas linking to Zone instead of scaning pages.
Major improvement. 1. No COW on anonymous vma. 2. Dynamic page mapping on core space. It's the further discussion about former item 1 in minor improvment section, other features on it is applying DLPTE arithmetic on core PTE array, introducing RemapDaemon.
You can download http://www.cublog.cn/u/21764/upfile/060718173355.zip to find more about those features and it's convenient to illustrate my idea for there is a lots of diagrams in it. Summary of the file is MemoryArchitecture.pdf is the documentation of my Zero OS memory subsystem. Code in Implementation/memory/ shows some sample implementation about my memory subsystem. Note, not like other OS, I do like to write documentation and my OS is far from completion, even its memory subsystem.
My blog (Chinese site): http://zeroos.cublog.cn/
Regarding Yunfeng Zhang - 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/
| |