Evicting Anonymous pages.
From: Prateek Sharma <hidden>
Date: 2011-09-27 18:26:08
On Tue, Sep 27, 2011 at 11:42 PM, Mulyadi Santosa [off-list ref] wrote:
Hi :) On Wed, Sep 28, 2011 at 00:14, Prateek Sharma [off-list ref] wrote:quoted
Hello everyone, ?I am trying to understand the kernel page frame reclaiming mechanism, but one thing's bothering me: How does the kernel 'know' which anonymous pages to evict? In the LRU scheme, ?'referenced/used' information for each page is required (AFAIK). But anonymous pages can be used by user processes 'at any time' without the kernel knowing about it.Same question hog my mind too so far :) The only satisfying self answer I could deduce is: kernel can't track every access to pages when you do it like e.g mov %ax,8(%esp). What kernel could track is when you access data via wrappers. I forgot which ones, but remember some of them are updating those "referenced" etc flags. Perhaps something like get_pages or alike. -- regards, Mulyadi Santosa Freelance Linux trainer and consultant
page_referenced_anon is called for anonymous pages by page_referenced. And as far as i could figure out, that uses mmu_notifiers. [calls pmdp_clear_flush_young_notify] Whether every anonymous page access is trapped, or only a few of them, i have not yet figured out. Linux-mm seems to be full of magic!