linux/fs
Robin Holt 7339ff8302 [PATCH] Add tmpfs options for memory placement policies
Anything that writes into a tmpfs filesystem is liable to disproportionately
decrease the available memory on a particular node.  Since there's no telling
what sort of application (e.g.  dd/cp/cat) might be dropping large files
there, this lets the admin choose the appropriate default behavior for their
site's situation.

Introduce a tmpfs mount option which allows specifying a memory policy and
a second option to specify the nodelist for that policy.  With the default
policy, tmpfs will behave as it does today.  This patch adds support for
preferred, bind, and interleave policies.

The default policy will cause pages to be added to tmpfs files on the node
which is doing the writing.  Some jobs expect a single process to create
and manage the tmpfs files.  This results in a node which has a
significantly reduced number of free pages.

With this patch, the administrator can specify the policy and nodes for
that policy where they would prefer allocations.

This patch was originally written by Brent Casavant and Hugh Dickins.  I
added support for the bind and preferred policies and the mpol_nodelist
mount option.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-14 18:27:07 -08:00
..
9p [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
adfs
affs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
afs add loglevel to printk in fs/afs/cmservice.c 2006-01-11 01:52:40 +01:00
autofs [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
autofs4 [PATCH] autofs4 oops fix 2006-01-14 18:25:19 -08:00
befs
bfs
cifs [PATCH] turn "const static" into "static const" 2006-01-10 08:01:55 -08:00
coda [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
configfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
cramfs
debugfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
devfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
devpts [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
efs
exportfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
ext2 [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
ext3 [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
fat [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
freevxfs [PATCH] fix possible PAGE_CACHE_SHIFT overflows 2006-01-08 20:13:54 -08:00
fuse [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
hfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
hfsplus [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
hostfs
hpfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
hppfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
hugetlbfs [PATCH] Add tmpfs options for memory placement policies 2006-01-14 18:27:07 -08:00
isofs
jbd
jffs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
jffs2 [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
jfs [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
lockd [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
minix
msdos
ncpfs [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
nfs [PATCH] per-mountpoint noatime/nodiratime 2006-01-10 08:01:34 -08:00
nfs_common
nfsd [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
nls
ntfs [PATCH] ntfs: remove superflous MS_NOATIME/MS_NODIRATIME assignments 2006-01-10 08:01:33 -08:00
ocfs2 [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
openpromfs
partitions [ARM] Make Acorn partition types depend on ACORN_PARTITION 2006-01-09 14:15:14 +00:00
proc [PATCH] convert /proc/devices to use seq_file interface 2006-01-14 18:25:19 -08:00
qnx4
ramfs
reiserfs [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
relayfs [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
romfs [PATCH] fix possible PAGE_CACHE_SHIFT overflows 2006-01-08 20:13:54 -08:00
smbfs [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
sysfs [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
sysv [PATCH] fix possible PAGE_CACHE_SHIFT overflows 2006-01-08 20:13:54 -08:00
udf [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
ufs [PATCH] ufs cleanup 2006-01-14 10:27:32 -08:00
vfat
xfs Merge git://oss.sgi.com:8090/oss/git/xfs-2.6 2006-01-12 09:10:34 -08:00
aio.c [PATCH] rcu file: use atomic primitives 2006-01-08 20:13:48 -08:00
attr.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
bad_inode.c
binfmt_aout.c [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
binfmt_elf.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
binfmt_elf_fdpic.c [PATCH] fs/binfmt_elf: Remove unneeded kmalloc() return value casts 2006-01-10 08:02:01 -08:00
binfmt_em86.c
binfmt_flat.c [PATCH] uclinux: delay binfmt_flat trace 2006-01-10 09:31:27 -08:00
binfmt_misc.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
binfmt_script.c
binfmt_som.c
bio.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
block_dev.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
buffer.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
char_dev.c [PATCH] convert /proc/devices to use seq_file interface 2006-01-14 18:25:19 -08:00
compat.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
compat_ioctl.c [PATCH] Implement ioctl emulation for the parport character device 2006-01-12 09:08:49 -08:00
dcache.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
dcookies.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
direct-io.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
dnotify.c
dquot.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
drop_caches.c [PATCH] drop-pagecache 2006-01-08 20:12:40 -08:00
eventpoll.c
exec.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
fcntl.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
fifo.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
file.c
file_table.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
filesystems.c
fs-writeback.c
inode.c [PATCH] per-mountpoint noatime/nodiratime 2006-01-10 08:01:34 -08:00
inotify.c
ioctl.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
ioprio.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
Kconfig [PATCH] kexec: change CONFIG_PHYSICAL_START dependency 2006-01-10 08:01:29 -08:00
Kconfig.binfmt [PATCH] frv: suppress configuration of certain features for FRV 2006-01-08 20:13:36 -08:00
libfs.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
locks.c [PATCH] tiny: Uninline some fslocks.c functions 2006-01-08 20:14:10 -08:00
Makefile [PATCH] sanitize building of fs/compat_ioctl.c 2006-01-10 08:01:33 -08:00
mbcache.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
mpage.c [PATCH] fix possible PAGE_CACHE_SHIFT overflows 2006-01-08 20:13:54 -08:00
namei.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
namespace.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
nfsctl.c
open.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
pipe.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
pnode.c [PATCH] shared mounts: cleanup 2006-01-08 20:13:56 -08:00
pnode.h
posix_acl.c
quota.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
quota_v1.c
quota_v2.c
read_write.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
readdir.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
select.c
seq_file.c
stat.c
super.c [PATCH] mutex subsystem, semaphore to mutex: VFS, sb->s_lock 2006-01-09 15:59:25 -08:00
xattr.c [PATCH] move xattr permission checks into the VFS 2006-01-10 08:01:29 -08:00
xattr_acl.c