Thread (110 messages) 110 messages, 8 authors, 2011-09-21

Re: [patch 8/8] mm: make per-memcg lru lists exclusive

From: Hiroyuki Kamezawa <hidden>
Date: 2011-06-02 15:54:42
Also in: lkml

2011/6/2 Johannes Weiner [off-list ref]:
On Thu, Jun 02, 2011 at 10:16:59PM +0900, Hiroyuki Kamezawa wrote:
quoted
2011/6/1 Johannes Weiner [off-list ref]:
quoted
All lru list walkers have been converted to operate on per-memcg
lists, the global per-zone lists are no longer required.

This patch makes the per-memcg lists exclusive and removes the global
lists from memcg-enabled kernels.

The per-memcg lists now string up page descriptors directly, which
unifies/simplifies the list isolation code of page reclaim as well as
it saves a full double-linked list head for each page in the system.

At the core of this change is the introduction of the lruvec
structure, an array of all lru list heads.  It exists for each zone
globally, and for each zone per memcg.  All lru list operations are
now done in generic code against lruvecs, with the memcg lru list
primitives only doing accounting and returning the proper lruvec for
the currently scanned memcg on isolation, or for the respective page
on putback.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>

could you divide this into
  - introduce lruvec
  - don't record section? information into pc->flags because we see
"page" on memcg LRU
    and there is no requirement to get page from "pc".
  - remove pc->lru completely
Yes, that makes sense.  It shall be fixed in the next version.
BTW, IIUC, Transparent hugepage has a code to link a page to the
page->lru directly.
And recent Minchan's work does the same kind of trick.

But it may put a page onto wrong memcgs if we do link a page to
another page's page->lru
because 2 pages may be in different cgroup each other.

Could you check there are more codes which does link page->lru to nearby page's
page->lru ? Now, I'm not sure there are other codes....but we need care.

Thanks,
-Kame

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help