On Mon, 18 Feb 2008 10:58:40 +0900 (JST)
[EMAIL PROTECTED] (YAMAMOTO Takashi) wrote:

> > +   /*
> > +    * For lazy freeing (not GC)
> > +    */
> > +   struct {
> > +           struct mem_cgroup_per_zone *mz;
> > +           int                     num;
> > +#define GARBAGE_MAXSIZE            (16)
> > +           struct page_cgroup      *vec[GARBAGE_MAXSIZE];
> > +   } garbage[NR_CPUS];
> >  };
> 
> i think you want to dedicate cache lines.
> 
> > @@ -176,12 +185,14 @@ struct page_cgroup {
> >     struct list_head lru;           /* per cgroup LRU list */
> >     struct page *page;
> >     struct mem_cgroup *mem_cgroup;
> > +   struct mem_cgroup_per_zone *mz; /* now belongs to...*/
> 
> is this for performance?
> 
We need to find what zone pc is under...
Now, we can find it by pc->page.
But I don't want to trust pc->page of freed pages.

> > @@ -408,10 +427,12 @@ static void __mem_cgroup_move_lists(stru
> >     if (active) {
> >             MEM_CGROUP_ZSTAT(mz, MEM_CGROUP_ZSTAT_ACTIVE) += 1;
> >             pc->flags |= PAGE_CGROUP_FLAG_ACTIVE;
> > +           pc->mz = mz;
> >             list_move(&pc->lru, &mz->active_list);
> >     } else {
> >             MEM_CGROUP_ZSTAT(mz, MEM_CGROUP_ZSTAT_INACTIVE) += 1;
> >             pc->flags &= ~PAGE_CGROUP_FLAG_ACTIVE;
> > +           pc->mz = mz;
> >             list_move(&pc->lru, &mz->inactive_list);
> >     }
> >  }
> 
> isn't pc->mz already assigned by __mem_cgroup_add_list?
> 
Ah, yes. I can remove this.

> > @@ -1050,11 +1114,15 @@ mem_cgroup_force_empty_list(struct mem_c
> >     if (list_empty(list))
> >             return;
> >  retry:
> > +   all_free_garbages(mem);
> >     count = FORCE_UNCHARGE_BATCH;
> >     spin_lock_irqsave(&mz->lru_lock, flags);
> >  
> >     while (--count && !list_empty(list)) {
> >             pc = list_entry(list->prev, struct page_cgroup, lru);
> > +           /* If there are still garbage, exit and retry */
> > +           if (pc->flags & PAGE_CGROUP_FLAG_GARBAGE)
> > +                   break;
> 
> i think mem_cgroup_isolate_pages needs a similar check.
> 
Yes. maybe my refresh miss..

Thanks,
-Kame


> YAMAMOTO Takashi
> 

_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel

Reply via email to