Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-12 Thread Vladimir Davydov
On Sun, May 10, 2015 at 01:34:29PM +0300, Vladimir Davydov wrote: > On Sun, May 10, 2015 at 12:12:38AM +0900, Minchan Kim wrote: > > Yeb, I might be paranoid but my point is it might work now on most of > > arch but it seem to be buggy/fragile/subtle because we couldn't prove > > all arch/compiler

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-12 Thread Vladimir Davydov
On Sun, May 10, 2015 at 01:34:29PM +0300, Vladimir Davydov wrote: On Sun, May 10, 2015 at 12:12:38AM +0900, Minchan Kim wrote: Yeb, I might be paranoid but my point is it might work now on most of arch but it seem to be buggy/fragile/subtle because we couldn't prove all arch/compiler don't

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-10 Thread Vladimir Davydov
On Sun, May 10, 2015 at 12:12:38AM +0900, Minchan Kim wrote: > On Fri, May 08, 2015 at 12:56:04PM +0300, Vladimir Davydov wrote: > > On Mon, May 04, 2015 at 07:54:59PM +0900, Minchan Kim wrote: > > > So, I guess once below compiler optimization happens in > > > __page_set_anon_rmap, > > > it

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-10 Thread Vladimir Davydov
On Sun, May 10, 2015 at 12:12:38AM +0900, Minchan Kim wrote: On Fri, May 08, 2015 at 12:56:04PM +0300, Vladimir Davydov wrote: On Mon, May 04, 2015 at 07:54:59PM +0900, Minchan Kim wrote: So, I guess once below compiler optimization happens in __page_set_anon_rmap, it could be corrupt

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-09 Thread Minchan Kim
Hello, Vladimir On Fri, May 08, 2015 at 12:56:04PM +0300, Vladimir Davydov wrote: > On Mon, May 04, 2015 at 07:54:59PM +0900, Minchan Kim wrote: > > So, I guess once below compiler optimization happens in > > __page_set_anon_rmap, > > it could be corrupt in page_refernced. > > > >

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-09 Thread Minchan Kim
Hello, Vladimir On Fri, May 08, 2015 at 12:56:04PM +0300, Vladimir Davydov wrote: On Mon, May 04, 2015 at 07:54:59PM +0900, Minchan Kim wrote: So, I guess once below compiler optimization happens in __page_set_anon_rmap, it could be corrupt in page_refernced. __page_set_anon_rmap:

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-08 Thread Vladimir Davydov
On Mon, May 04, 2015 at 07:54:59PM +0900, Minchan Kim wrote: > So, I guess once below compiler optimization happens in __page_set_anon_rmap, > it could be corrupt in page_refernced. > > __page_set_anon_rmap: > page->mapping = (struct address_space *) anon_vma; > page->mapping =

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-08 Thread Vladimir Davydov
On Mon, May 04, 2015 at 07:54:59PM +0900, Minchan Kim wrote: So, I guess once below compiler optimization happens in __page_set_anon_rmap, it could be corrupt in page_refernced. __page_set_anon_rmap: page-mapping = (struct address_space *) anon_vma; page-mapping = (struct

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-04 Thread Minchan Kim
On Mon, May 04, 2015 at 12:49:39PM +0300, Vladimir Davydov wrote: > On Mon, May 04, 2015 at 12:17:22PM +0900, Minchan Kim wrote: > > On Thu, Apr 30, 2015 at 05:50:55PM +0300, Vladimir Davydov wrote: > > > On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: > > > > On Wed, Apr 29, 2015 at

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-04 Thread Vladimir Davydov
On Mon, May 04, 2015 at 12:17:22PM +0900, Minchan Kim wrote: > On Thu, Apr 30, 2015 at 05:50:55PM +0300, Vladimir Davydov wrote: > > On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: > > > On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: > > > > On Wed, Apr 29, 2015 at

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-04 Thread Vladimir Davydov
On Mon, May 04, 2015 at 12:17:22PM +0900, Minchan Kim wrote: On Thu, Apr 30, 2015 at 05:50:55PM +0300, Vladimir Davydov wrote: On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: On Wed, Apr 29, 2015 at 01:35:36PM

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-04 Thread Minchan Kim
On Mon, May 04, 2015 at 12:49:39PM +0300, Vladimir Davydov wrote: On Mon, May 04, 2015 at 12:17:22PM +0900, Minchan Kim wrote: On Thu, Apr 30, 2015 at 05:50:55PM +0300, Vladimir Davydov wrote: On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: On Wed, Apr 29, 2015 at 12:12:48PM

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-03 Thread Minchan Kim
On Thu, Apr 30, 2015 at 05:50:55PM +0300, Vladimir Davydov wrote: > On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: > > On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: > > > On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: > > > > On Tue, Apr 28, 2015 at

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-05-03 Thread Minchan Kim
On Thu, Apr 30, 2015 at 05:50:55PM +0300, Vladimir Davydov wrote: On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: On Tue, Apr 28, 2015 at 03:24:42PM

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-30 Thread Vladimir Davydov
On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: > On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: > > On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: > > > On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > > > > +#ifdef

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-30 Thread Minchan Kim
On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: > On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: > > On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > > > diff --git a/fs/proc/page.c b/fs/proc/page.c > > > index 70d23245dd43..cfc55ba7fee6 100644 >

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-30 Thread Minchan Kim
Hi, On Wed, Apr 29, 2015 at 11:31:49AM +0300, Vladimir Davydov wrote: > On Wed, Apr 29, 2015 at 01:57:59PM +0900, Minchan Kim wrote: > > On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > > > @@ -69,6 +69,14 @@ There are four components to pagemap: > > > memory cgroup each

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-30 Thread Minchan Kim
Hi, On Wed, Apr 29, 2015 at 11:31:49AM +0300, Vladimir Davydov wrote: On Wed, Apr 29, 2015 at 01:57:59PM +0900, Minchan Kim wrote: On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: @@ -69,6 +69,14 @@ There are four components to pagemap: memory cgroup each page is

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-30 Thread Minchan Kim
On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: diff --git a/fs/proc/page.c b/fs/proc/page.c index 70d23245dd43..cfc55ba7fee6 100644 ---

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-30 Thread Vladimir Davydov
On Thu, Apr 30, 2015 at 05:25:31PM +0900, Minchan Kim wrote: On Wed, Apr 29, 2015 at 12:12:48PM +0300, Vladimir Davydov wrote: On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: +#ifdef CONFIG_IDLE_PAGE_TRACKING

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-29 Thread Vladimir Davydov
On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: > On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > > diff --git a/fs/proc/page.c b/fs/proc/page.c > > index 70d23245dd43..cfc55ba7fee6 100644 > > --- a/fs/proc/page.c > > +++ b/fs/proc/page.c > > @@ -275,6 +275,156 @@

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-29 Thread Vladimir Davydov
On Wed, Apr 29, 2015 at 01:57:59PM +0900, Minchan Kim wrote: > On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > > @@ -69,6 +69,14 @@ There are four components to pagemap: > > memory cgroup each page is charged to, indexed by PFN. Only available > > when > > CONFIG_MEMCG

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-29 Thread Vladimir Davydov
On Wed, Apr 29, 2015 at 01:57:59PM +0900, Minchan Kim wrote: On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: @@ -69,6 +69,14 @@ There are four components to pagemap: memory cgroup each page is charged to, indexed by PFN. Only available when CONFIG_MEMCG is set.

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-29 Thread Vladimir Davydov
On Wed, Apr 29, 2015 at 01:35:36PM +0900, Minchan Kim wrote: On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: diff --git a/fs/proc/page.c b/fs/proc/page.c index 70d23245dd43..cfc55ba7fee6 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -275,6 +275,156 @@ static

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-28 Thread Minchan Kim
On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > Knowing the portion of memory that is not used by a certain application > or memory cgroup (idle memory) can be useful for partitioning the system > efficiently, e.g. by setting memory cgroup limits appropriately. > Currently, the

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-28 Thread Minchan Kim
On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: > Knowing the portion of memory that is not used by a certain application > or memory cgroup (idle memory) can be useful for partitioning the system > efficiently, e.g. by setting memory cgroup limits appropriately. > Currently, the

[PATCH v3 3/3] proc: add kpageidle file

2015-04-28 Thread Vladimir Davydov
Knowing the portion of memory that is not used by a certain application or memory cgroup (idle memory) can be useful for partitioning the system efficiently, e.g. by setting memory cgroup limits appropriately. Currently, the only means to estimate the amount of idle memory provided by the kernel

[PATCH v3 3/3] proc: add kpageidle file

2015-04-28 Thread Vladimir Davydov
Knowing the portion of memory that is not used by a certain application or memory cgroup (idle memory) can be useful for partitioning the system efficiently, e.g. by setting memory cgroup limits appropriately. Currently, the only means to estimate the amount of idle memory provided by the kernel

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-28 Thread Minchan Kim
On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: Knowing the portion of memory that is not used by a certain application or memory cgroup (idle memory) can be useful for partitioning the system efficiently, e.g. by setting memory cgroup limits appropriately. Currently, the

Re: [PATCH v3 3/3] proc: add kpageidle file

2015-04-28 Thread Minchan Kim
On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote: Knowing the portion of memory that is not used by a certain application or memory cgroup (idle memory) can be useful for partitioning the system efficiently, e.g. by setting memory cgroup limits appropriately. Currently, the