[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1341344675-17534-1-git-send-email-nzimmer@sgi.com>
Date: Tue, 3 Jul 2012 14:44:33 -0500
From: Nathan Zimmer <nzimmer@....com>
To: linux-mm@...ck.org, linux-kernel@...r.kernel.org
Cc: Nathan Zimmer <nzimmer@....com>
Subject: [PATCH 0/2 v5][rfc] tmpfs not interleaving properly
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.
v5: Corrected unsigned to long.
Nathan Zimmer (2):
shmem: provide vm_ops when also providing a mem policy
tmpfs: interleave the starting node of /dev/shmem
include/linux/mm.h | 7 +++++++
include/linux/shmem_fs.h | 3 +++
mm/mempolicy.c | 4 ++++
mm/shmem.c | 35 ++++++++++++++++++++++++++++++++---
4 files changed, 46 insertions(+), 3 deletions(-)
--
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