lkml.org 
[lkml]   [2009]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [RFC] high system time & lock contention running large mixed workload
    Date
    > On 12/01/2009 11:41 AM, Larry Woodman wrote:
    > >
    > > Agreed. The attached updated patch only does a trylock in the
    > > page_referenced() call from shrink_inactive_list() and only for
    > > anonymous pages when the priority is either 10, 11 or
    > > 12(DEF_PRIORITY-2). I have never seen a problem like this with active
    > > pagecache pages and it does not alter the existing shrink_page_list
    > > behavior. What do you think about this???
    > This is reasonable, except for the fact that pages that are moved
    > to the inactive list without having the referenced bit cleared are
    > guaranteed to be moved back to the active list.
    >
    > You'll be better off without that excess list movement, by simply
    > moving pages directly back onto the active list if the trylock
    > fails.
    >
    > Yes, this means that page_referenced can now return 3 different
    > return values (not accessed, accessed, lock contended), which
    > should probably be an enum so we can test for the values
    > symbolically in the calling functions.
    >
    > That way only pages where we did manage to clear the referenced bit
    > will be moved onto the inactive list. This not only reduces the
    > amount of excess list movement, it also makes sure that the pages
    > which do get onto the inactive list get a fair chance at being
    > referenced again, instead of potentially being flooded out by pages
    > where the trylock failed.

    Agreed.


    > A minor nitpick: maybe it would be good to rename the "try" parameter
    > to "noblock". That more closely matches the requested behaviour.

    Another minor nit: probably we have to rename page_referenced(). it imply test
    reference bit. but we use it for clear reference bit in shrink_active_list.





    \
     
     \ /
      Last update: 2009-12-02 03:45    [W:0.024 / U:89.648 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site