Re: Page Replacement in 2.6.10

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

 



Hi Rik,
In one of the earlier CART threads, you had mentioned that you had a way of representing each non resident page by a 32 bit value. Could you please elaborate on this? I haven't given too much thought on this, but i was thinking of a 64 bit value... upper 32 bits being pid and lower 32 being the virtual address. Would this work?
Thanks
Rahul



Rik van Riel wrote:

On Thu, 10 Mar 2005, Rahul Iyer wrote:



Unfortunately, there is no pointer from struct page to the page table entry (struct pte_t) using the page, probably because there may be more than one. I then looked at rmap.h and rmap.c in 2.6.11. In those files i saw page_referenced(...). From what i gather, this function tests and clears the referenced flag for the given pages. Am I right?



Yes. The code in rmap.c provides all the infrastructure you need to check the referenced bit on a per physical page basis.



Another question... what is ignore_token? As I saw from the source,





I couldn't get the logic behind this bit.



Please read the paper referenced from mm/thrash.c ;)

Unfortunately the implementation in the upstream kernel was
made by me in only a day and a half, and the code needs a
lot of work to run smoothly under low loads.  The algorithm
does seem to work very well under high loads, though ...



P.S: Are all pages that are not backed by files (mmap'd) called anonymous
pages?



Yes.




-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/


[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