All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
	"xemul@openvz.org" <xemul@openvz.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Dave Hansen <haveblue@us.ibm.com>,
	ryov@valinux.co.jp
Subject: Re: [PATCH 9/12] memcg allocate all page_cgroup at boot
Date: Wed, 01 Oct 2008 11:29:04 +0530	[thread overview]
Message-ID: <48E311A8.3000802@linux.vnet.ibm.com> (raw)
In-Reply-To: <20081001143242.1b44de24.kamezawa.hiroyu@jp.fujitsu.com>

KAMEZAWA Hiroyuki wrote:
> On Wed, 1 Oct 2008 14:07:48 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
>>> Can we make this patch indepedent of the flags changes and push it in ASAP.
>>>
>> Need much work....Hmm..rewrite all again ? 
>>
> 
> BTW, do you have good idea to modify flag bit without affecting LOCK bit on
> page_cgroup->flags ?
> 
> At least, we'll have to set ACTIVE/INACTIVE/UNEVICTABLE flags dynamically.
> take lock_page_cgroup() always ?

In the past patches, I've used lock_page_cgroup(). In some cases like
initialization at boot time, I've ignored taking the lock, since I know no-one
is accessing them yet.

> __mem_cgroup_move_lists() will have some amount of changes. And we should
> check dead lock again.

__mem_cgroup_move_lists() is called from mem_cgroup_isolate_pages() and
mem_cgroup_move_lists(). In mem_cgroup_move_lists(), we have the page_cgroup
lock. I think the current code works on the assumption (although not documented
anywhere I've seen), that PAGE_CGROUP_FLAG_INACTIVE/ACTIVE/UNEVICTABLE bits are
protected by lru_lock. Please look at

__mem_cgroup_remove_list
__mem_cgroup_add_list
__mem_cgroup_move_lists
__mem_cgroup_charge_common (sets this flag, before the pc is associated with the
page).

Am I missing something (today is holiday here, so I am in a bit of a lazy/sleepy
mood :) )

-- 
	Balbir

WARNING: multiple messages have this Message-ID (diff)
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
	"xemul@openvz.org" <xemul@openvz.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Dave Hansen <haveblue@us.ibm.com>,
	ryov@valinux.co.jp
Subject: Re: [PATCH 9/12] memcg allocate all page_cgroup at boot
Date: Wed, 01 Oct 2008 11:29:04 +0530	[thread overview]
Message-ID: <48E311A8.3000802@linux.vnet.ibm.com> (raw)
In-Reply-To: <20081001143242.1b44de24.kamezawa.hiroyu@jp.fujitsu.com>

KAMEZAWA Hiroyuki wrote:
> On Wed, 1 Oct 2008 14:07:48 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
>>> Can we make this patch indepedent of the flags changes and push it in ASAP.
>>>
>> Need much work....Hmm..rewrite all again ? 
>>
> 
> BTW, do you have good idea to modify flag bit without affecting LOCK bit on
> page_cgroup->flags ?
> 
> At least, we'll have to set ACTIVE/INACTIVE/UNEVICTABLE flags dynamically.
> take lock_page_cgroup() always ?

In the past patches, I've used lock_page_cgroup(). In some cases like
initialization at boot time, I've ignored taking the lock, since I know no-one
is accessing them yet.

> __mem_cgroup_move_lists() will have some amount of changes. And we should
> check dead lock again.

__mem_cgroup_move_lists() is called from mem_cgroup_isolate_pages() and
mem_cgroup_move_lists(). In mem_cgroup_move_lists(), we have the page_cgroup
lock. I think the current code works on the assumption (although not documented
anywhere I've seen), that PAGE_CGROUP_FLAG_INACTIVE/ACTIVE/UNEVICTABLE bits are
protected by lru_lock. Please look at

__mem_cgroup_remove_list
__mem_cgroup_add_list
__mem_cgroup_move_lists
__mem_cgroup_charge_common (sets this flag, before the pc is associated with the
page).

Am I missing something (today is holiday here, so I am in a bit of a lazy/sleepy
mood :) )

-- 
	Balbir

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-10-01  6:04 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-25  6:11 [PATCH 0/12] memcg updates v5 KAMEZAWA Hiroyuki
2008-09-25  6:13 ` [PATCH 1/12] memcg avoid accounting special mappings not on LRU KAMEZAWA Hiroyuki
2008-09-26  8:25   ` Balbir Singh
2008-09-26  8:25     ` Balbir Singh
2008-09-26  9:17     ` KAMEZAWA Hiroyuki
2008-09-26  9:17       ` KAMEZAWA Hiroyuki
2008-09-26  9:32       ` Balbir Singh
2008-09-26  9:32         ` Balbir Singh
2008-09-26  9:55         ` KAMEZAWA Hiroyuki
2008-09-26  9:55           ` KAMEZAWA Hiroyuki
2008-09-25  6:14 ` [PATCH 2/12] memcg move charege() call to swapped-in page under lock_page() KAMEZAWA Hiroyuki
2008-09-26  8:36   ` Balbir Singh
2008-09-26  8:36     ` Balbir Singh
2008-09-26  9:18     ` KAMEZAWA Hiroyuki
2008-09-26  9:18       ` KAMEZAWA Hiroyuki
2008-09-25  6:15 ` [PATCH 3/12] memcg make root cgroup unlimited KAMEZAWA Hiroyuki
2008-09-26  8:41   ` Balbir Singh
2008-09-26  8:41     ` Balbir Singh
2008-09-26  9:21     ` KAMEZAWA Hiroyuki
2008-09-26  9:21       ` KAMEZAWA Hiroyuki
2008-09-26  9:29       ` Balbir Singh
2008-09-26  9:29         ` Balbir Singh
2008-09-26  9:59         ` KAMEZAWA Hiroyuki
2008-09-26  9:59           ` KAMEZAWA Hiroyuki
2008-09-25  6:16 ` [PATCH 4/12] memcg make page->mapping NULL before calling uncharge KAMEZAWA Hiroyuki
2008-09-26  9:47   ` Balbir Singh
2008-09-26  9:47     ` Balbir Singh
2008-09-26 10:07     ` KAMEZAWA Hiroyuki
2008-09-26 10:07       ` KAMEZAWA Hiroyuki
2008-09-25  6:17 ` [PATCH 5/12] memcg make page_cgroup->flags atomic KAMEZAWA Hiroyuki
2008-09-27  6:58   ` Balbir Singh
2008-09-27  6:58     ` Balbir Singh
2008-09-25  6:18 ` [PATCH 6/12] memcg optimize percpu stat KAMEZAWA Hiroyuki
2008-09-26  9:53   ` Balbir Singh
2008-09-26  9:53     ` Balbir Singh
2008-09-25  6:27 ` [PATCH 7/12] memcg add function to move account KAMEZAWA Hiroyuki
2008-09-26  7:30   ` Daisuke Nishimura
2008-09-26  7:30     ` Daisuke Nishimura
2008-09-26  9:24     ` KAMEZAWA Hiroyuki
2008-09-26  9:24       ` KAMEZAWA Hiroyuki
2008-09-27  7:56   ` Balbir Singh
2008-09-27  7:56     ` Balbir Singh
2008-09-27  8:35     ` kamezawa.hiroyu
2008-09-27  8:35       ` kamezawa.hiroyu
2008-09-25  6:29 ` [PATCH 8/12] memcg rewrite force empty to move account to root KAMEZAWA Hiroyuki
2008-09-25  6:32 ` [PATCH 9/12] memcg allocate all page_cgroup at boot KAMEZAWA Hiroyuki
2008-09-25 18:40   ` Dave Hansen
2008-09-25 18:40     ` Dave Hansen
2008-09-26  1:17     ` KAMEZAWA Hiroyuki
2008-09-26  1:17       ` KAMEZAWA Hiroyuki
2008-09-26  1:22       ` KAMEZAWA Hiroyuki
2008-09-26  1:22         ` KAMEZAWA Hiroyuki
2008-09-26  1:00   ` Daisuke Nishimura
2008-09-26  1:00     ` Daisuke Nishimura
2008-09-26  1:43     ` KAMEZAWA Hiroyuki
2008-09-26  1:43       ` KAMEZAWA Hiroyuki
2008-09-26  2:05       ` KAMEZAWA Hiroyuki
2008-09-26  2:05         ` KAMEZAWA Hiroyuki
2008-09-26  5:54         ` Daisuke Nishimura
2008-09-26  5:54           ` Daisuke Nishimura
2008-09-26  6:54           ` KAMEZAWA Hiroyuki
2008-09-26  6:54             ` KAMEZAWA Hiroyuki
2008-09-27  3:47           ` KAMEZAWA Hiroyuki
2008-09-27  3:47             ` KAMEZAWA Hiroyuki
2008-09-27  3:25       ` KAMEZAWA Hiroyuki
2008-09-27  3:25         ` KAMEZAWA Hiroyuki
2008-09-26  2:21   ` [PATCH(fixed) " KAMEZAWA Hiroyuki
2008-09-26  2:21     ` KAMEZAWA Hiroyuki
2008-09-26  2:25     ` [PATCH(fixed) 10/12] free page cgroup from LRU in lazy KAMEZAWA Hiroyuki
2008-09-26  2:25       ` KAMEZAWA Hiroyuki
2008-09-26  2:28       ` [PATCH(fixed) 11/12] free page cgroup from LRU in add KAMEZAWA Hiroyuki
2008-09-26  2:28         ` KAMEZAWA Hiroyuki
2008-10-01  4:03   ` [PATCH 9/12] memcg allocate all page_cgroup at boot Balbir Singh
2008-10-01  4:03     ` Balbir Singh
2008-10-01  5:07     ` KAMEZAWA Hiroyuki
2008-10-01  5:07       ` KAMEZAWA Hiroyuki
2008-10-01  5:30       ` Balbir Singh
2008-10-01  5:30         ` Balbir Singh
2008-10-01  5:41         ` KAMEZAWA Hiroyuki
2008-10-01  5:41           ` KAMEZAWA Hiroyuki
2008-10-01  6:12           ` KAMEZAWA Hiroyuki
2008-10-01  6:12             ` KAMEZAWA Hiroyuki
2008-10-01  6:26             ` Balbir Singh
2008-10-01  6:26               ` Balbir Singh
2008-10-01  5:32       ` KAMEZAWA Hiroyuki
2008-10-01  5:32         ` KAMEZAWA Hiroyuki
2008-10-01  5:59         ` Balbir Singh [this message]
2008-10-01  5:59           ` Balbir Singh
2008-10-01  6:17           ` KAMEZAWA Hiroyuki
2008-10-01  6:17             ` KAMEZAWA Hiroyuki
2008-09-25  6:33 ` [PATCH 10/12] memcg free page_cgroup from LRU in lazy KAMEZAWA Hiroyuki
2008-09-25  6:35 ` [PATCH 11/12] memcg add to " KAMEZAWA Hiroyuki
2008-09-25  6:36 ` [PATCH 12/12] memcg: fix race at charging swap-in KAMEZAWA Hiroyuki
2008-09-26  2:32 ` [PATCH 0/12] memcg updates v5 Daisuke Nishimura
2008-09-26  2:32   ` Daisuke Nishimura
2008-09-26  2:58   ` KAMEZAWA Hiroyuki
2008-09-26  2:58     ` KAMEZAWA Hiroyuki
2008-09-26  3:04     ` KAMEZAWA Hiroyuki
2008-09-26  3:04       ` KAMEZAWA Hiroyuki
2008-09-26  3:00       ` Daisuke Nishimura
2008-09-26  3:00         ` Daisuke Nishimura
2008-09-26  4:05         ` KAMEZAWA Hiroyuki
2008-09-26  4:05           ` KAMEZAWA Hiroyuki
2008-09-26  5:24           ` Daisuke Nishimura
2008-09-26  5:24             ` Daisuke Nishimura
2008-09-26  9:28             ` KAMEZAWA Hiroyuki
2008-09-26  9:28               ` KAMEZAWA Hiroyuki
2008-09-26 10:43             ` KAMEZAWA Hiroyuki
2008-09-26 10:43               ` KAMEZAWA Hiroyuki
2008-09-27  2:53               ` KAMEZAWA Hiroyuki
2008-09-27  2:53                 ` KAMEZAWA Hiroyuki
2008-09-26  8:18 ` Balbir Singh
2008-09-26  8:18   ` Balbir Singh
2008-09-26  9:22   ` KAMEZAWA Hiroyuki
2008-09-26  9:22     ` KAMEZAWA Hiroyuki
2008-09-26  9:31     ` Balbir Singh
2008-09-26  9:31       ` Balbir Singh
2008-09-26 10:36       ` KAMEZAWA Hiroyuki
2008-09-26 10:36         ` KAMEZAWA Hiroyuki
2008-09-27  3:19         ` KAMEZAWA Hiroyuki
2008-09-27  3:19           ` KAMEZAWA Hiroyuki
2008-09-29  3:02           ` Balbir Singh
2008-09-29  3:02             ` Balbir Singh
2008-09-29  3:27             ` KAMEZAWA Hiroyuki
2008-09-29  3:27               ` KAMEZAWA Hiroyuki

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=48E311A8.3000802@linux.vnet.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=haveblue@us.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nishimura@mxp.nes.nec.co.jp \
    --cc=ryov@valinux.co.jp \
    --cc=xemul@openvz.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.