lkml.org 
[lkml]   [2007]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/5] Lumpy Reclaim V3
    On Tue, 27 Feb 2007, Andy Whitcroft wrote:

    > +static int __isolate_lru_page(struct page *page, int active)
    > +{
    > + int ret = -EINVAL;
    > +
    > + if (PageLRU(page) && (PageActive(page) == active)) {
    > + ret = -EBUSY;
    > + if (likely(get_page_unless_zero(page))) {
    > + /*
    > + * Be careful not to clear PageLRU until after we're
    > + * sure the page is not being freed elsewhere -- the
    > + * page release code relies on it.
    > + */
    > + ClearPageLRU(page);
    > + ret = 0;

    Is that really necessary? PageLRU is clear when a page is freed right?
    And clearing PageLRU requires the zone->lru_lock since we have to move it
    off the LRU.

    > - ClearPageLRU(page);
    > - target = dst;
    > + active = PageActive(page);

    Why are we saving the active state? Page cannot be moved between LRUs
    while we hold the lru lock anyways.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-02-28 19:17    [W:0.036 / U:0.004 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site