Balbir Singh wrote:> 2009/9/2 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>:>> Ryo Tsuruta wrote:>>> Hi Kamezawa-san,>>>>>> As you wrote before (http://lkml.org/lkml/2009/7/22/65)>>>> To be honest, what I expected in these days for people of blockio>>>> cgroup is like following for getting room for themselves.>>> <<snip>>>>>> --- mmotm-2.6.31-Jul16.orig/include/linux/page_cgroup.h>>>> +++ mmotm-2.6.31-Jul16/include/linux/page_cgroup.h>>>> @@ -13,7 +13,7 @@>>>> &#160;struct page_cgroup {>>>> &#160; &#160; &#160; unsigned long flags;>>>> &#160; &#160; &#160; struct mem_cgroup *mem_cgroup;>>>> - &#160; &#160; struct page *page;>>>> + &#160; &#160; /* block io tracking will use extra unsigned longbytes */>>>> &#160; &#160; &#160; struct list_head lru; &#160; &#160; &#160; /*per cgroup LRU list */>>>> };>>>>>> Have you already added a room for blkio_cgroup in struct page_cgroup?>> No.>>>> The diff above is unclear, are you removing struct page from page_cgroup?>I said him "if you want a room, plz get by youself, consider more"And offered this change.http://lkml.org/lkml/2009/7/22/65you were CC'd.Because page_cgroup's layout is same to memmap, we can use similar functionas page_cgroup_to_pfn(), pfn_to_page_cgroup().And, we don't access page_cgroup->page in fast path. (maybe)But as I wrote, we're busy. I'll not do this until all performance fixesgo ahead.