lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CAFj3OHVd1ZaM9fuNvcwE63J+vVATJWhnmCjBOWJEUjBLv13shw@mail.gmail.com> Date: Fri, 11 Jan 2013 11:45:31 +0800 From: Sha Zhengju <handai.szj@...il.com> To: Michal Hocko <mhocko@...e.cz> Cc: linux-kernel@...r.kernel.org, cgroups@...r.kernel.org, linux-mm@...ck.org, akpm@...ux-foundation.org, kamezawa.hiroyu@...fujitsu.com, Sha Zhengju <handai.szj@...bao.com> Subject: Re: [PATCH] memcg: modify swap accounting function to support THP On Thu, Jan 10, 2013 at 9:39 PM, Michal Hocko <mhocko@...e.cz> wrote: > On Thu 10-01-13 19:43:58, Sha Zhengju wrote: >> From: Sha Zhengju <handai.szj@...bao.com> > > THP are not swapped out because they are split before so this change > doesn't make much sense to me. Yes... I have been puzzled by 'nr_pages' in __mem_cgroup_uncharge_common.. Sorry for the noise. : ) > >> Signed-off-by: Sha Zhengju <handai.szj@...bao.com> >> --- >> mm/memcontrol.c | 13 ++++++------- >> 1 file changed, 6 insertions(+), 7 deletions(-) >> >> diff --git a/mm/memcontrol.c b/mm/memcontrol.c >> index 3817460..674cf21 100644 >> --- a/mm/memcontrol.c >> +++ b/mm/memcontrol.c >> @@ -914,10 +914,9 @@ static long mem_cgroup_read_stat(struct mem_cgroup *memcg, >> } >> >> static void mem_cgroup_swap_statistics(struct mem_cgroup *memcg, >> - bool charge) >> + int nr_pages) >> { >> - int val = (charge) ? 1 : -1; >> - this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_SWAP], val); >> + this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_SWAP], nr_pages); >> } >> >> static unsigned long mem_cgroup_read_events(struct mem_cgroup *memcg, >> @@ -4107,7 +4106,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype, >> */ >> memcg_check_events(memcg, page); >> if (do_swap_account && ctype == MEM_CGROUP_CHARGE_TYPE_SWAPOUT) { >> - mem_cgroup_swap_statistics(memcg, true); >> + mem_cgroup_swap_statistics(memcg, nr_pages); >> mem_cgroup_get(memcg); >> } >> /* >> @@ -4238,7 +4237,7 @@ void mem_cgroup_uncharge_swap(swp_entry_t ent) >> */ >> if (!mem_cgroup_is_root(memcg)) >> res_counter_uncharge(&memcg->memsw, PAGE_SIZE); >> - mem_cgroup_swap_statistics(memcg, false); >> + mem_cgroup_swap_statistics(memcg, -1); >> mem_cgroup_put(memcg); >> } >> rcu_read_unlock(); >> @@ -4267,8 +4266,8 @@ static int mem_cgroup_move_swap_account(swp_entry_t entry, >> new_id = css_id(&to->css); >> >> if (swap_cgroup_cmpxchg(entry, old_id, new_id) == old_id) { >> - mem_cgroup_swap_statistics(from, false); >> - mem_cgroup_swap_statistics(to, true); >> + mem_cgroup_swap_statistics(from, -1); >> + mem_cgroup_swap_statistics(to, 1); >> /* >> * This function is only called from task migration context now. >> * It postpones res_counter and refcount handling till the end >> -- >> 1.7.9.5 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@...r.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ > > -- > Michal Hocko > SUSE Labs -- Thanks, Sha -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists