linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2 v4][rfc] tmpfs not interleaving properly
@ 2012-07-02 20:26 Nathan Zimmer
  2012-07-02 20:28 ` [PATCH 1/2 v4][rfc] shmem: provide vm_ops when also providing a mem policy Nathan Zimmer
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Nathan Zimmer @ 2012-07-02 20:26 UTC (permalink / raw)
  To: linux-mm, linux-kernel
  Cc: Christoph Lameter, Nick Piggin, Hugh Dickins, Lee Schermerhorn,
	KOSAKI Motohiro, Rik van Riel

When tmpfs has the memory policy interleaved it always starts allocating at each
file at node 0.  When there are many small files the lower nodes fill up
disproportionately.
This patch spreads out node usage by starting files at nodes other then 0.
The tmpfs superblock grants an offset for each inode as they are created. Each
then uses that offset to proved a prefered first node for its interleave in
the shmem_interleave.

v2: passed preferred node via addr
v3: using current->cpuset_mem_spread_rotor instead of random_node
v4: Switching the rotor and attempting to provide an interleave function
Also splitting the patch into two sections.

Cc: Christoph Lameter <cl@linux.com>
Cc: Nick Piggin <npiggin@gmail.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Nathan T Zimmer <nzimmer@sgi.com>
---

 include/linux/mm.h       |    6 ++++++
 include/linux/shmem_fs.h |    2 ++
 mm/mempolicy.c           |    4 ++++
 mm/shmem.c               |   33 ++++++++++++++++++++++++++++++---
 4 files changed, 42 insertions(+), 3 deletions(-)

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-07-03 12:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-02 20:26 [PATCH 0/2 v4][rfc] tmpfs not interleaving properly Nathan Zimmer
2012-07-02 20:28 ` [PATCH 1/2 v4][rfc] shmem: provide vm_ops when also providing a mem policy Nathan Zimmer
2012-07-02 20:28 ` [PATCH 2/2 v4][rfc] tmpfs: interleave the starting node of /dev/shmem Nathan Zimmer
2012-07-03 12:49   ` Cong Wang
2012-07-02 20:54 ` [PATCH 0/2 v4][rfc] tmpfs not interleaving properly Nathan Zimmer
2012-07-03 10:32   ` Cong Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).