Messages in this thread | | | Date | Wed, 23 Aug 2006 18:39:14 +0800 | From | "yunfeng zhang" <> | Subject | Re: Improvement on memory subsystem |
| |
New design has been appended into my OS, it's mainly focused on how to allocate swap pages for each PrivateVMA efficiently in swap daemon.
Let's first see the PTE array snapshot of a PrivateVMA, U-U-P-P-P-S-S U: UnmappedPTE; P: PTE; S: SwappedPTE.
The snapshot shows that the pages of the PrivateVMA has an access-affinity. The 3rd, 4th and 5th have been accessed since last scanning on the PrivateVMA, other PTEs aren't still touched.
A concept is introduced here to describe the accessed PTEs -- series. So we've got three series (1st and 2nd), (3rd, 4th and 5th) and (6th and 7th) from the snapshot.
The design is allocating swap pages by series. It should be more efficient for future page-fault to page-in them.
Further discussion in my new documentation http://www.cublog.cn/u/21764/upfile/060823181124.zip. In section "Memory Daemons >> SwapDaemon and PrivateVMA" and "Class Repository >> SwapDaemon". There's also sample code in Implementation subdirectory of the archives. - 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/
| |