Re: Evicting Anonymous pages.

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

 





On Tue, Sep 27, 2011 at 11:56 PM, Prateek Sharma <prateek3.14@xxxxxxxxx> wrote:
On Tue, Sep 27, 2011 at 11:42 PM, Mulyadi Santosa
<mulyadi.santosa@xxxxxxxxx> wrote:
> Hi :)
>
> On Wed, Sep 28, 2011 at 00:14, Prateek Sharma <prateek3.14@xxxxxxxxx> wrote:
>> 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.
(AFAIK) Anonymous pages do not correspond to any file. It may be part of a program's data area or stack & is written to the swap area.
When a process tries to access the anonymous pages it notifies the swapper to get back the swap area in mem. In case of a process which holds the swap token, swapping of anonymous pages is avoided.
>
> 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!

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux