On 2/26/08, Peter Teoh <[EMAIL PROTECTED]> wrote:
>
> Please comment on my comments, and criticize the criticisms:
>
> On Tue, Feb 26, 2008 at 7:14 PM, shyam burkule <[EMAIL PROTECTED]>
> wrote:
> > 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
>
> Do u mean by this the 2 step transition behavior of mark_page_accessed():
>
> /*
> * Mark a page as having seen activity.
> *
> * inactive,unreferenced        ->      inactive,referenced
> * inactive,referenced          ->      active,unreferenced
> * active,unreferenced          ->      active,referenced
> */
> void mark_page_accessed(struct page *page)
> {
>        if (!PageActive(page) && PageReferenced(page) && PageLRU(page)) {
>                activate_page(page);
>                ClearPageReferenced(page);
>        } else if (!PageReferenced(page)) {
>                SetPageReferenced(page);
>        }
> }
>
> ?   As a start, who are the caller of mark_page_accessed()?   In my
> analysis, mark_page_accessed() is not called at page fault time, and
> therefore, the page has already existed, and therefore, this is just a
> way to make it transition to another state.
>
> > 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
> > 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 ?
> >
> >
>
> But the do_XXXX_page() functions u see above, are originating from
> page fault, and therefore, it is the first time the page is created
> for it, and the status is therefore active, since it is created upon
> demand.


I think , this is not sufficient reason to add those pages (faulty pages) to
active list. The issu is not yet cleared to me. Why page fault pages are
directly added to active list?

Linux worked by demand-paging,
> http://www.science.unitn.it/~fiorella/guidelinux/tlk/node26.html.
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to [EMAIL PROTECTED]
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>


-- 
Shyam
  "Born To Learn"

Reply via email to