lkml.org 
[lkml]   [2007]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [-mm PATCH 6/9] Memory controller add per container LRU and reclaim (v4)
    Date
    From
    > +unsigned long mem_container_isolate_pages(unsigned long nr_to_scan,
    > + struct list_head *dst,
    > + unsigned long *scanned, int order,
    > + int mode, struct zone *z,
    > + struct mem_container *mem_cont,
    > + int active)
    > +{
    > + unsigned long nr_taken = 0;
    > + struct page *page;
    > + unsigned long scan;
    > + LIST_HEAD(mp_list);
    > + struct list_head *src;
    > + struct meta_page *mp;
    > +
    > + if (active)
    > + src = &mem_cont->active_list;
    > + else
    > + src = &mem_cont->inactive_list;
    > +
    > + for (scan = 0; scan < nr_to_scan && !list_empty(src); scan++) {
    > + mp = list_entry(src->prev, struct meta_page, lru);

    what prevents another thread from freeing mp here?

    > + spin_lock(&mem_cont->lru_lock);
    > + if (mp)
    > + page = mp->page;
    > + spin_unlock(&mem_cont->lru_lock);
    > + if (!mp)
    > + continue;

    YAMAMOTO Takashi
    -
    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-07-31 07:17    [W:0.031 / U:0.472 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site