All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brice Goglin <Brice.Goglin@inria.fr>
To: LKML <linux-kernel@vger.kernel.org>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH 0/5] mm: rework sys_move_pages() to avoid vmalloc and reduce the overhead
Date: Tue, 14 Oct 2008 22:53:34 +0200	[thread overview]
Message-ID: <48F506CE.60701@inria.fr> (raw)
In-Reply-To: <48F3AD47.1050301@inria.fr>

By the way, this patchset replaces
mm-use-a-radix-tree-to-make-do_move_pages-complexity-linear-checkpatch-fixes
(currently in -mm).

Brice



Brice Goglin wrote:
> Hello,
>
> Here's the first patchset reworking sys_move_pages() as discussed earlier.
> It removes the possibly large vmalloc by using multiple chunks when migrating
> large buffers. It also dramatically increases the throughput for large buffers
> since the lookup in new_page_node() is now limited to a single chunk, causing
> the quadratic complexity to have a much slower impact. There is no need to use
> any radix-tree-like structure to improve this lookup.
>
> sys_move_pages() duration on a 4-quadcore-opteron 2347HE (1.9Gz), migrating
> between nodes #2 and #3:
> 	length		move_pages (us)		move_pages+patch (us)
> 	4kB		126			98
> 	40kB		198			168
> 	400kB		963			937
> 	4MB		12503			11930
> 	40MB		246867			11848
>
> Patches #1 and #4 are the important ones:
> 1) stop returning -ENOENT from sys_move_pages() if nothing got migrated
> 2) don't vmalloc a huge page_to_node array for do_pages_stat()
> 3) extract do_pages_move() out of sys_move_pages()
> 4) rework do_pages_move() to work on page_sized chunks
> 5) move_pages: no need to set pp->page to ZERO_PAGE(0) by default
>
> thanks,
> Brice
>
>
>
>   


WARNING: multiple messages have this Message-ID (diff)
From: Brice Goglin <Brice.Goglin@inria.fr>
To: LKML <linux-kernel@vger.kernel.org>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH 0/5] mm: rework sys_move_pages() to avoid vmalloc and reduce the overhead
Date: Tue, 14 Oct 2008 22:53:34 +0200	[thread overview]
Message-ID: <48F506CE.60701@inria.fr> (raw)
In-Reply-To: <48F3AD47.1050301@inria.fr>

By the way, this patchset replaces
mm-use-a-radix-tree-to-make-do_move_pages-complexity-linear-checkpatch-fixes
(currently in -mm).

Brice



Brice Goglin wrote:
> Hello,
>
> Here's the first patchset reworking sys_move_pages() as discussed earlier.
> It removes the possibly large vmalloc by using multiple chunks when migrating
> large buffers. It also dramatically increases the throughput for large buffers
> since the lookup in new_page_node() is now limited to a single chunk, causing
> the quadratic complexity to have a much slower impact. There is no need to use
> any radix-tree-like structure to improve this lookup.
>
> sys_move_pages() duration on a 4-quadcore-opteron 2347HE (1.9Gz), migrating
> between nodes #2 and #3:
> 	length		move_pages (us)		move_pages+patch (us)
> 	4kB		126			98
> 	40kB		198			168
> 	400kB		963			937
> 	4MB		12503			11930
> 	40MB		246867			11848
>
> Patches #1 and #4 are the important ones:
> 1) stop returning -ENOENT from sys_move_pages() if nothing got migrated
> 2) don't vmalloc a huge page_to_node array for do_pages_stat()
> 3) extract do_pages_move() out of sys_move_pages()
> 4) rework do_pages_move() to work on page_sized chunks
> 5) move_pages: no need to set pp->page to ZERO_PAGE(0) by default
>
> thanks,
> Brice
>
>
>
>   

--
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>

  parent reply	other threads:[~2008-10-14 20:58 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-13 20:19 [PATCH 0/5] mm: rework sys_move_pages() to avoid vmalloc and reduce the overhead Brice Goglin
2008-10-13 20:19 ` Brice Goglin
2008-10-13 20:21 ` [PATCH 1/5] mm: stop returning -ENOENT from sys_move_pages() if nothing got migrated Brice Goglin
2008-10-13 20:21   ` Brice Goglin
2008-10-16 19:34   ` Christoph Lameter
2008-10-16 19:34     ` Christoph Lameter
2008-10-13 20:21 ` [PATCH 2/5] mm: don't vmalloc a huge page_to_node array for do_pages_stat() Brice Goglin
2008-10-13 20:21   ` Brice Goglin
2008-10-16 19:39   ` Christoph Lameter
2008-10-16 19:39     ` Christoph Lameter
2008-10-13 20:22 ` [PATCH 3/5] mm: extract do_pages_move() out of sys_move_pages() Brice Goglin
2008-10-13 20:22   ` Brice Goglin
2008-10-16 19:40   ` Christoph Lameter
2008-10-16 19:40     ` Christoph Lameter
2008-10-13 20:22 ` [PATCH 4/5] mm: rework do_pages_move() to work on page_sized chunks Brice Goglin
2008-10-13 20:22   ` Brice Goglin
2008-10-16 19:51   ` Christoph Lameter
2008-10-16 19:51     ` Christoph Lameter
2008-10-16 21:18     ` Brice Goglin
2008-10-16 21:18       ` Brice Goglin
2008-10-17 11:35     ` [RESEND][PATCH] " Brice Goglin
2008-10-17 11:35       ` Brice Goglin
2008-10-17 13:10       ` Christoph Lameter
2008-10-17 13:10         ` Christoph Lameter
2008-10-13 20:23 ` [PATCH 5/5] mm: move_pages: no need to set pp->page to ZERO_PAGE(0) by default Brice Goglin
2008-10-13 20:23   ` Brice Goglin
2008-10-16 19:42   ` Christoph Lameter
2008-10-16 19:42     ` Christoph Lameter
2008-10-14 20:53 ` Brice Goglin [this message]
2008-10-14 20:53   ` [PATCH 0/5] mm: rework sys_move_pages() to avoid vmalloc and reduce the overhead Brice Goglin

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=48F506CE.60701@inria.fr \
    --to=brice.goglin@inria.fr \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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.