On Thu, 07 Feb 2008 10:20:39 +0900
KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> looks good.
> thank you clean up code.
Yeah, it looks good.
Too bad it still does not work :)
Oh well, I'll look at that tomorrow. Jet lag is catching up
with me, so I should get some rest first...
--
All rights
Hi Rik
Welcome back :)
> > I found number of scan pages calculation bug.
>
> My latest version of get_scan_ratio() works differently, with the
> percentages always adding up to 100. However, your patch gave me
> the inspiration to (hopefully) find the bug in my version of the
> code.
OK.
>
On Wed, 30 Jan 2008 17:57:54 +0900
KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> I found number of scan pages calculation bug.
My latest version of get_scan_ratio() works differently, with the
percentages always adding up to 100. However, your patch gave me
the inspiration to (hopefully) find
On Wed, 30 Jan 2008 17:57:54 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
I found number of scan pages calculation bug.
My latest version of get_scan_ratio() works differently, with the
percentages always adding up to 100. However, your patch gave me
the inspiration to (hopefully) find the
Hi Rik
Welcome back :)
I found number of scan pages calculation bug.
My latest version of get_scan_ratio() works differently, with the
percentages always adding up to 100. However, your patch gave me
the inspiration to (hopefully) find the bug in my version of the
code.
OK.
2.
On Thu, 07 Feb 2008 10:20:39 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
looks good.
thank you clean up code.
Yeah, it looks good.
Too bad it still does not work :)
Oh well, I'll look at that tomorrow. Jet lag is catching up
with me, so I should get some rest first...
--
All rights
> I will integrate your fixes with my code when I
> get back from holidays. Then things should work :)
>
> Thank you for your analysis of the problem.
Thank you.
enjoy good vacation :)
-
kosaki
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a
On Thu, 31 Jan 2008 10:17:48 +0900
KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> on my test environment, my patch solve incorrect OOM.
> because, too small reclaim cause OOM.
That makes sense.
The version you two are looking at can return
"percentages" way larger than 100 in get_scan_ratio.
A
On Thu, 31 Jan 2008 10:17:48 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
on my test environment, my patch solve incorrect OOM.
because, too small reclaim cause OOM.
That makes sense.
The version you two are looking at can return
percentages way larger than 100 in get_scan_ratio.
A fixed
I will integrate your fixes with my code when I
get back from holidays. Then things should work :)
Thank you for your analysis of the problem.
Thank you.
enjoy good vacation :)
-
kosaki
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to
Hi Lee-san
> Rik is currently out on holiday and I've been traveling. Just getting
> back to rebasing to 24-rc8-mm1. Thank you for your efforts in testing
> and tracking down the regressions. I will add your fixes into my tree
> and try them out and let you know. Rik mentioned to me that he
On Wed, 2008-01-30 at 17:57 +0900, KOSAKI Motohiro wrote:
> Hi Rik, Lee
>
> I found number of scan pages calculation bug.
>
> 1. wrong calculation order
>
> ap *= rotate_sum / (zone->recent_rotated_anon + 1);
>
>when recent_rotated_anon = 100 and recent_rotated_file = 0,
>
>
Hi Rik, Lee
I found number of scan pages calculation bug.
1. wrong calculation order
ap *= rotate_sum / (zone->recent_rotated_anon + 1);
when recent_rotated_anon = 100 and recent_rotated_file = 0,
rotate_sum / (zone->recent_rotated_anon + 1)
= 100 / 101
= 0
at
Hi Rik, Lee
I found number of scan pages calculation bug.
1. wrong calculation order
ap *= rotate_sum / (zone-recent_rotated_anon + 1);
when recent_rotated_anon = 100 and recent_rotated_file = 0,
rotate_sum / (zone-recent_rotated_anon + 1)
= 100 / 101
= 0
at that
On Wed, 2008-01-30 at 17:57 +0900, KOSAKI Motohiro wrote:
Hi Rik, Lee
I found number of scan pages calculation bug.
1. wrong calculation order
ap *= rotate_sum / (zone-recent_rotated_anon + 1);
when recent_rotated_anon = 100 and recent_rotated_file = 0,
rotate_sum
Hi Lee-san
Rik is currently out on holiday and I've been traveling. Just getting
back to rebasing to 24-rc8-mm1. Thank you for your efforts in testing
and tracking down the regressions. I will add your fixes into my tree
and try them out and let you know. Rik mentioned to me that he has a
Hi Rik, Lee
I tested new hackbench on rvr split LRU patch.
http://people.redhat.com/mingo/cfs-scheduler/tools/hackbench.c
method of test
(1) $ ./hackbench 150 process 1000
(2) # sync; echo 3 > /proc/sys/vm/drop_caches
$ dd if=tmp10G of=/dev/null
$ ./hackbench 150 process 1000
test
Hi
> > Why drop (total_swap_pages == 0 && PageAnon(page)) condition?
> > in embedded sysmtem,
> > CONFIG_NORECLAIM is OFF (because almost embedded cpu is 32bit) and
> > that anon move to inactive list is meaningless because it doesn't have swap.
>
> That was a mistake, kind of. Since all swap
Hi
Why drop (total_swap_pages == 0 PageAnon(page)) condition?
in embedded sysmtem,
CONFIG_NORECLAIM is OFF (because almost embedded cpu is 32bit) and
that anon move to inactive list is meaningless because it doesn't have swap.
That was a mistake, kind of. Since all swap backed pages
On Fri, 2008-01-11 at 11:15 -0500, Rik van Riel wrote:
> On Fri, 11 Jan 2008 10:59:18 -0500
> Lee Schermerhorn <[EMAIL PROTECTED]> wrote:
>
> > On Fri, 2008-01-11 at 10:42 -0500, Rik van Riel wrote:
> > > On Fri, 11 Jan 2008 15:24:34 +0900
> > > KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> > >
>
On Fri, 11 Jan 2008 10:59:18 -0500
Lee Schermerhorn <[EMAIL PROTECTED]> wrote:
> On Fri, 2008-01-11 at 10:42 -0500, Rik van Riel wrote:
> > On Fri, 11 Jan 2008 15:24:34 +0900
> > KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> >
> > > below patch is a bit cleanup proposal.
> > > i think LRU_FILE is
On Fri, 11 Jan 2008 10:50:09 -0500
Lee Schermerhorn <[EMAIL PROTECTED]> wrote:
> Again, my doing. I agree that the calculation is a bit strange, but I
> wanted to "future-proof" this function in case we ever get to a value of
> '6' for the lru_list enum. In that case, the AND will evaluate to
>
On Fri, 2008-01-11 at 10:42 -0500, Rik van Riel wrote:
> On Fri, 11 Jan 2008 15:24:34 +0900
> KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
>
> > below patch is a bit cleanup proposal.
> > i think LRU_FILE is more clarify than "/2".
> >
> > What do you think it?
>
> Thank you for the cleanup, your
On Fri, 2008-01-11 at 15:24 +0900, KOSAKI Motohiro wrote:
> Hi Rik
>
> > +static inline int is_file_lru(enum lru_list l)
> > +{
> > + BUILD_BUG_ON(LRU_INACTIVE_FILE != 2 || LRU_ACTIVE_FILE != 3);
> > + return (l/2 == 1);
> > +}
>
> below patch is a bit cleanup proposal.
> i think LRU_FILE is
On Fri, 11 Jan 2008 16:35:24 +0900
KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> Why drop (total_swap_pages == 0 && PageAnon(page)) condition?
> in embedded sysmtem,
> CONFIG_NORECLAIM is OFF (because almost embedded cpu is 32bit) and
> that anon move to inactive list is meaningless because it
On Fri, 11 Jan 2008 15:24:34 +0900
KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> below patch is a bit cleanup proposal.
> i think LRU_FILE is more clarify than "/2".
>
> What do you think it?
Thank you for the cleanup, your version looks a lot nicer.
I have applied your patch to my series.
--
On Fri, 11 Jan 2008 12:59:31 +0900
KOSAKI Motohiro <[EMAIL PROTECTED]> wrote:
> Hi Rik
>
> > -static inline long mem_cgroup_calc_reclaim_inactive(struct mem_cgroup *mem,
> > - struct zone *zone, int priority)
> > +static inline long
On Fri, 2008-01-11 at 15:24 +0900, KOSAKI Motohiro wrote:
Hi Rik
+static inline int is_file_lru(enum lru_list l)
+{
+ BUILD_BUG_ON(LRU_INACTIVE_FILE != 2 || LRU_ACTIVE_FILE != 3);
+ return (l/2 == 1);
+}
below patch is a bit cleanup proposal.
i think LRU_FILE is more clarify
On Fri, 11 Jan 2008 16:35:24 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
Why drop (total_swap_pages == 0 PageAnon(page)) condition?
in embedded sysmtem,
CONFIG_NORECLAIM is OFF (because almost embedded cpu is 32bit) and
that anon move to inactive list is meaningless because it doesn't
On Fri, 11 Jan 2008 12:59:31 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
Hi Rik
-static inline long mem_cgroup_calc_reclaim_inactive(struct mem_cgroup *mem,
- struct zone *zone, int priority)
+static inline long mem_cgroup_calc_reclaim(struct
On Fri, 2008-01-11 at 10:42 -0500, Rik van Riel wrote:
On Fri, 11 Jan 2008 15:24:34 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
below patch is a bit cleanup proposal.
i think LRU_FILE is more clarify than /2.
What do you think it?
Thank you for the cleanup, your version looks a
On Fri, 11 Jan 2008 15:24:34 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
below patch is a bit cleanup proposal.
i think LRU_FILE is more clarify than /2.
What do you think it?
Thank you for the cleanup, your version looks a lot nicer.
I have applied your patch to my series.
--
All
On Fri, 11 Jan 2008 10:59:18 -0500
Lee Schermerhorn [EMAIL PROTECTED] wrote:
On Fri, 2008-01-11 at 10:42 -0500, Rik van Riel wrote:
On Fri, 11 Jan 2008 15:24:34 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
below patch is a bit cleanup proposal.
i think LRU_FILE is more clarify
On Fri, 11 Jan 2008 10:50:09 -0500
Lee Schermerhorn [EMAIL PROTECTED] wrote:
Again, my doing. I agree that the calculation is a bit strange, but I
wanted to future-proof this function in case we ever get to a value of
'6' for the lru_list enum. In that case, the AND will evaluate to
On Fri, 2008-01-11 at 11:15 -0500, Rik van Riel wrote:
On Fri, 11 Jan 2008 10:59:18 -0500
Lee Schermerhorn [EMAIL PROTECTED] wrote:
On Fri, 2008-01-11 at 10:42 -0500, Rik van Riel wrote:
On Fri, 11 Jan 2008 15:24:34 +0900
KOSAKI Motohiro [EMAIL PROTECTED] wrote:
below patch is
Hi Rik
> @@ -1128,64 +1026,65 @@ static void shrink_active_list(unsigned
(snip)
> + /*
> + * For sorting active vs inactive pages, we'll use the 'anon'
> + * elements of the local list[] array and sort out the file vs
> + * anon pages below.
> + */
> while
Hi Rik
> +static inline int is_file_lru(enum lru_list l)
> +{
> + BUILD_BUG_ON(LRU_INACTIVE_FILE != 2 || LRU_ACTIVE_FILE != 3);
> + return (l/2 == 1);
> +}
below patch is a bit cleanup proposal.
i think LRU_FILE is more clarify than "/2".
What do you think it?
Index:
Hi Rik
> -static inline long mem_cgroup_calc_reclaim_inactive(struct mem_cgroup *mem,
> - struct zone *zone, int priority)
> +static inline long mem_cgroup_calc_reclaim(struct mem_cgroup *mem,
> + struct zone *zone, int
Hi Rik
-static inline long mem_cgroup_calc_reclaim_inactive(struct mem_cgroup *mem,
- struct zone *zone, int priority)
+static inline long mem_cgroup_calc_reclaim(struct mem_cgroup *mem,
+ struct zone *zone, int priority,
Hi Rik
+static inline int is_file_lru(enum lru_list l)
+{
+ BUILD_BUG_ON(LRU_INACTIVE_FILE != 2 || LRU_ACTIVE_FILE != 3);
+ return (l/2 == 1);
+}
below patch is a bit cleanup proposal.
i think LRU_FILE is more clarify than /2.
What do you think it?
Index:
On Thu, 10 Jan 2008 08:56:31 +0530
Balbir Singh <[EMAIL PROTECTED]> wrote:
> > > The control_type feature is gone. We still have cached page
> > > accounting, but we do not allow control of only RSS pages anymore. We
> > > need to control both RSS+cached pages. I do not understand your
> > >
* KAMEZAWA Hiroyuki <[EMAIL PROTECTED]> [2008-01-10 11:36:18]:
> On Thu, 10 Jan 2008 07:51:33 +0530
> Balbir Singh <[EMAIL PROTECTED]> wrote:
>
> > > > #define PAGE_CGROUP_FLAG_CACHE (0x1) /* charged as cache */
> > > > #define PAGE_CGROUP_FLAG_ACTIVE (0x2) /* page is active in this
> > >
On Thu, 10 Jan 2008 11:28:49 +0900
KAMEZAWA Hiroyuki <[EMAIL PROTECTED]> wrote:
> Hmm, it seems..
>
> When a program copies large amount of files, recent_rotated_file increases
> rapidly and
>
> rotate_sum
> --
> recent_rotated_anon
>
> will be very big.
>
> And %ap will be
On Thu, 10 Jan 2008 07:51:33 +0530
Balbir Singh <[EMAIL PROTECTED]> wrote:
> > > #define PAGE_CGROUP_FLAG_CACHE (0x1) /* charged as cache */
> > > #define PAGE_CGROUP_FLAG_ACTIVE (0x2)/* page is active in this
> > > cgroup */
> > > +#define PAGE_CGROUP_FLAG_FILE(0x4) /* page is
On Tue, 08 Jan 2008 15:59:44 -0500
Rik van Riel <[EMAIL PROTECTED]> wrote:
> + rotate_sum = zone->recent_rotated_file + zone->recent_rotated_anon;
> +
> + /* Keep a floating average of RECENT references. */
> + if (unlikely(rotate_sum > min(anon, file))) {
> +
* KAMEZAWA Hiroyuki <[EMAIL PROTECTED]> [2008-01-09 13:41:32]:
> I like this patch set thank you.
>
> On Tue, 08 Jan 2008 15:59:44 -0500
> Rik van Riel <[EMAIL PROTECTED]> wrote:
> > Index: linux-2.6.24-rc6-mm1/mm/memcontrol.c
> >
* KAMEZAWA Hiroyuki [EMAIL PROTECTED] [2008-01-09 13:41:32]:
I like this patch set thank you.
On Tue, 08 Jan 2008 15:59:44 -0500
Rik van Riel [EMAIL PROTECTED] wrote:
Index: linux-2.6.24-rc6-mm1/mm/memcontrol.c
===
---
On Tue, 08 Jan 2008 15:59:44 -0500
Rik van Riel [EMAIL PROTECTED] wrote:
+ rotate_sum = zone-recent_rotated_file + zone-recent_rotated_anon;
+
+ /* Keep a floating average of RECENT references. */
+ if (unlikely(rotate_sum min(anon, file))) {
+
On Thu, 10 Jan 2008 07:51:33 +0530
Balbir Singh [EMAIL PROTECTED] wrote:
#define PAGE_CGROUP_FLAG_CACHE (0x1) /* charged as cache */
#define PAGE_CGROUP_FLAG_ACTIVE (0x2)/* page is active in this
cgroup */
+#define PAGE_CGROUP_FLAG_FILE(0x4) /* page is file system
On Thu, 10 Jan 2008 11:28:49 +0900
KAMEZAWA Hiroyuki [EMAIL PROTECTED] wrote:
Hmm, it seems..
When a program copies large amount of files, recent_rotated_file increases
rapidly and
rotate_sum
--
recent_rotated_anon
will be very big.
And %ap will be big regardless
* KAMEZAWA Hiroyuki [EMAIL PROTECTED] [2008-01-10 11:36:18]:
On Thu, 10 Jan 2008 07:51:33 +0530
Balbir Singh [EMAIL PROTECTED] wrote:
#define PAGE_CGROUP_FLAG_CACHE (0x1) /* charged as cache */
#define PAGE_CGROUP_FLAG_ACTIVE (0x2) /* page is active in this
cgroup */
On Thu, 10 Jan 2008 08:56:31 +0530
Balbir Singh [EMAIL PROTECTED] wrote:
The control_type feature is gone. We still have cached page
accounting, but we do not allow control of only RSS pages anymore. We
need to control both RSS+cached pages. I do not understand your
question about new
I like this patch set thank you.
On Tue, 08 Jan 2008 15:59:44 -0500
Rik van Riel <[EMAIL PROTECTED]> wrote:
> Index: linux-2.6.24-rc6-mm1/mm/memcontrol.c
> ===
> --- linux-2.6.24-rc6-mm1.orig/mm/memcontrol.c 2008-01-07
On Tue, 8 Jan 2008 14:42:03 -0800 (PST)
Christoph Lameter <[EMAIL PROTECTED]> wrote:
> On Tue, 8 Jan 2008, Rik van Riel wrote:
>
> > > Also would it be possible to create generic functions that can move pages
> > > in pagevecs to an arbitrary lru list?
> >
> > What would you use those functions
On Tue, 8 Jan 2008, Rik van Riel wrote:
> > Also would it be possible to create generic functions that can move pages
> > in pagevecs to an arbitrary lru list?
>
> What would you use those functions for?
We keep on duplicating the pagevec lru operation functions in mm/swap.c.
Some generic
On Tue, 8 Jan 2008 14:22:38 -0800 (PST)
Christoph Lameter <[EMAIL PROTECTED]> wrote:
> It may be good to coordinate this with Andrea Arcangeli's OOM fixes.
Probably. With the split LRU lists (and the noreclaim LRUs), we can
simplify the OOM test a lot:
If free + file_active + file_inactive <=
It may be good to coordinate this with Andrea Arcangeli's OOM fixes.
Also would it be possible to create generic functions that can move pages
in pagevecs to an arbitrary lru list?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL
On Tue, 8 Jan 2008 14:22:38 -0800 (PST)
Christoph Lameter [EMAIL PROTECTED] wrote:
It may be good to coordinate this with Andrea Arcangeli's OOM fixes.
Probably. With the split LRU lists (and the noreclaim LRUs), we can
simplify the OOM test a lot:
If free + file_active + file_inactive =
On Tue, 8 Jan 2008, Rik van Riel wrote:
Also would it be possible to create generic functions that can move pages
in pagevecs to an arbitrary lru list?
What would you use those functions for?
We keep on duplicating the pagevec lru operation functions in mm/swap.c.
Some generic stuff
It may be good to coordinate this with Andrea Arcangeli's OOM fixes.
Also would it be possible to create generic functions that can move pages
in pagevecs to an arbitrary lru list?
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL
On Tue, 8 Jan 2008 14:42:03 -0800 (PST)
Christoph Lameter [EMAIL PROTECTED] wrote:
On Tue, 8 Jan 2008, Rik van Riel wrote:
Also would it be possible to create generic functions that can move pages
in pagevecs to an arbitrary lru list?
What would you use those functions for?
We
I like this patch set thank you.
On Tue, 08 Jan 2008 15:59:44 -0500
Rik van Riel [EMAIL PROTECTED] wrote:
Index: linux-2.6.24-rc6-mm1/mm/memcontrol.c
===
--- linux-2.6.24-rc6-mm1.orig/mm/memcontrol.c 2008-01-07 11:55:09.0
62 matches
Mail list logo