About LRU..

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

 



Hi ,
   I am studing current page reaplcement policy that is LRU (actually LRU like policy) . 
               
            In that ,  whenever there is first access to page , insert that page into inactive list ( PG_lru =1 , PG_referenced =0 ) . For second reference , keep the page in inactive list but mark it accessed . (PG_lru =1 and PG_referenced =0 ) . For third reference , move the page to active list (PG_lru =1 , PG_active =1 and PG_referenced =0 ) .
   
          OK.... but whenever there is page fault , control comes to handle_mm_fault . It determine causes of page fault ans accordingly handle it .
 
                                            

                                    handle_mm_fault

                                                |

                                                |

                                    Handle_pte_fault

                                                |

                                                |

            ------------------------------------------------------------------

            |                                   |                                               |

            |                                   |                                               |

do_anonymous_page            do_wp_page                    do_swap_page

 

In any case (mentioned above ), if these function allocates new page frame then that page frame is directly get added into active list (by calling lru_cache_add_active ) .
 
              I am here not unserstanding , why this algorithm directly add new page to active list , eventhough that page has first access ?
 
 
Thanks
   shyam
                    

[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