From: Michal Hocko <mhocko@suse.cz>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Hugh Dickins <hughd@google.com>, Rik van Riel <riel@redhat.com>,
Michel Lespinasse <walken@google.com>,
Mel Gorman <mgorman@suse.de>
Subject: [PATCH V2] mm: Do not keep page locked during page fault while charging it for memcg
Date: Wed, 22 Jun 2011 14:32:04 +0200 [thread overview]
Message-ID: <20110622123204.GC14343@tiehlicka.suse.cz> (raw)
In-Reply-To: <20110622121516.GA28359@infradead.org>
On Wed 22-06-11 08:15:16, Christoph Hellwig wrote:
> > +
> > + /* We have to drop the page lock here because memcg
> > + * charging might block for unbound time if memcg oom
> > + * killer is disabled.
> > + */
> > + unlock_page(vmf.page);
> > + ret = mem_cgroup_newpage_charge(page, mm, GFP_KERNEL);
> > + lock_page(vmf.page);
>
> This introduces a completely poinless unlock/lock cycle for non-memcg
> pagefaults. Please make sure it only happens when actually needed.
Fair point. Thanks!
What about the following?
I realize that pushing more memcg logic into mm/memory.c is not nice but
I found it better than pushing the old page into mem_cgroup_newpage_charge.
We could also check whether the old page is in the root cgroup because
memcg oom killer is not active there but that would add more code into
this hot path so I guess it is not worth it.
Changes since v1
- do not unlock page when memory controller is disabled.
8<------
next prev parent reply other threads:[~2011-06-22 12:32 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-22 12:06 [PATCH] " Michal Hocko
2011-06-22 12:15 ` Christoph Hellwig
2011-06-22 12:32 ` Michal Hocko [this message]
2011-06-23 6:08 ` [PATCH] memcg: unlock page before charging it. (WasRe: [PATCH V2] " KAMEZAWA Hiroyuki
2011-06-23 7:23 ` Daisuke Nishimura
2011-06-23 7:41 ` Michal Hocko
2011-06-23 8:08 ` KAMEZAWA Hiroyuki
2011-06-23 9:02 ` Michal Hocko
2011-06-23 10:01 ` [PATCH] mm: preallocate page before lock_page at filemap COW. " KAMEZAWA Hiroyuki
2011-06-23 11:58 ` Michal Hocko
2011-06-23 13:01 ` Hiroyuki Kamezawa
2011-06-23 13:23 ` Michal Hocko
2011-06-23 13:51 ` Hiroyuki Kamezawa
2011-06-24 7:57 ` Michal Hocko
2011-06-24 11:46 ` Hiroyuki Kamezawa
2011-07-12 9:48 ` Michal Hocko
2012-01-26 10:46 ` Lutz Vieweg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110622123204.GC14343@tiehlicka.suse.cz \
--to=mhocko@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=riel@redhat.com \
--cc=walken@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox