Messages in this thread Patch in this message | | | Date | Wed, 20 Aug 2008 19:05:55 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | [RFC][PATCH -mm 5/7] memcg: prefetch mem cgroup per zone |
| |
Address of "mz" can be calculated in early stage. prefetch it (we always do spin_lock later.)
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> --- mm/memcontrol.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Index: mmtom-2.6.27-rc3+/mm/memcontrol.c =================================================================== --- mmtom-2.6.27-rc3+.orig/mm/memcontrol.c +++ mmtom-2.6.27-rc3+/mm/memcontrol.c @@ -694,6 +694,8 @@ static int mem_cgroup_charge_common(stru } } + mz = mem_cgroup_zoneinfo(mem, page_to_nid(page), page_zonenum(page)); + prefetchw(mz); pc->mem_cgroup = mem; pc->page = page; pc->flags = 0; @@ -716,7 +718,6 @@ static int mem_cgroup_charge_common(stru page_assign_page_cgroup(page, pc); - mz = page_cgroup_zoneinfo(pc); spin_lock_irqsave(&mz->lru_lock, flags); __mem_cgroup_add_list(mz, pc); spin_unlock_irqrestore(&mz->lru_lock, flags);
| |