[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090510092053.GA7651@localhost>
Date: Sun, 10 May 2009 17:20:53 +0800
From: Wu Fengguang <fengguang.wu@...el.com>
To: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
Cc: Alan Cox <alan@...rguk.ukuu.org.uk>,
Andrew Morton <akpm@...ux-foundation.org>,
"hannes@...xchg.org" <hannes@...xchg.org>,
"peterz@...radead.org" <peterz@...radead.org>,
"riel@...hat.com" <riel@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"tytso@....edu" <tytso@....edu>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"elladan@...imo.com" <elladan@...imo.com>,
"npiggin@...e.de" <npiggin@...e.de>,
"cl@...ux-foundation.org" <cl@...ux-foundation.org>,
"minchan.kim@...il.com" <minchan.kim@...il.com>
Subject: Re: [PATCH -mm] vmscan: make mapped executable pages the first
class citizen
On Sun, May 10, 2009 at 04:59:17PM +0800, KOSAKI Motohiro wrote:
> 2009/5/9 Alan Cox <alan@...rguk.ukuu.org.uk>:
> >> The patch seems reasonable but the changelog and the (non-existent)
> >> design documentation could do with a touch-up.
> >
> > Is it right that I as a user can do things like mmap my database
> > PROT_EXEC to get better database numbers by making other
> > stuff swap first ?
> >
> > You seem to be giving everyone a "nice my process up" hack.
>
> How about this?
Why it deserves more tricks? PROT_EXEC pages are rare.
If user space is to abuse PROT_EXEC, let them be for it ;-)
> if priority < DEF_PRIORITY-2, aggressive lumpy reclaim in
> shrink_inactive_list() already
> reclaim the active page forcely.
Isn't lumpy reclaim now enabled by (and only by) non-zero order?
> then, this patch don't change kernel reclaim policy.
>
> anyway, user process non-changable preventing "nice my process up
> hack" seems makes sense to me.
>
> test result:
>
> echo 100 > /proc/sys/vm/dirty_ratio
> echo 100 > /proc/sys/vm/dirty_background_ratio
> run modified qsbench (use mmap(PROT_EXEC) instead malloc)
>
> active2active vs active2inactive ratio
> before 5:5
> after 1:9
Do you have scripts for producing such numbers? I'm dreaming to have
such tools :-)
> please don't ask performance number. I haven't reproduce Wu's patch
> improvemnt ;)
That's why I decided to "explain" instead of "benchmark" the benefits
of my patch, hehe.
Thanks,
Fengguang
> ---
> mm/vmscan.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Index: b/mm/vmscan.c
> ===================================================================
> --- a/mm/vmscan.c 2009-05-10 02:40:01.000000000 +0900
> +++ b/mm/vmscan.c 2009-05-10 03:33:30.000000000 +0900
> @@ -1275,7 +1275,8 @@ static void shrink_active_list(unsigned
> struct address_space *mapping = page_mapping(page);
>
> pgmoved++;
> - if (mapping && test_bit(AS_EXEC, &mapping->flags)) {
> + if (mapping && (priority >= DEF_PRIORITY - 2) &&
> + test_bit(AS_EXEC, &mapping->flags)) {
> pga2a++;
> list_add(&page->lru, &l_active);
> continue;
--
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