WSL2-Linux-Kernel/fs
Shaohua Li 33806f06da swap: make each swap partition have one address_space
When I use several fast SSD to do swap, swapper_space.tree_lock is
heavily contended.  This makes each swap partition have one
address_space to reduce the lock contention.  There is an array of
address_space for swap.  The swap entry type is the index to the array.

In my test with 3 SSD, this increases the swapout throughput 20%.

[akpm@linux-foundation.org: revert unneeded change to  __add_to_swap_cache]
Signed-off-by: Shaohua Li <shli@fusionio.com>
Cc: Hugh Dickins <hughd@google.com>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-02-23 17:50:17 -08:00
..
9p Merge branch 'akpm' (incoming from Andrew) 2013-02-21 17:38:49 -08:00
adfs fs/adfs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
affs fs/affs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
afs fs/afs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
autofs4
befs fs/befs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
bfs fs/bfs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
btrfs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-02-21 17:40:58 -08:00
cachefiles FS-Cache: Mark cancellation of in-progress operation 2012-12-20 22:34:00 +00:00
ceph fs/ceph: remove depends on CONFIG_EXPERIMENTAL 2013-01-11 11:39:04 -08:00
cifs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-02-21 17:40:58 -08:00
coda
configfs configfs: move the dereference below the NULL test 2013-02-21 17:22:19 -08:00
cramfs
debugfs Merge 3.9-rc4 into driver-core-next 2013-01-17 19:48:18 -08:00
devpts
dlm dlm for 3.9 2013-02-21 09:25:23 -08:00
ecryptfs fs/ecryptfs: remove depends on CONFIG_EXPERIMENTAL 2013-01-11 11:39:04 -08:00
efs fs/efs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:05 -08:00
exofs
exportfs Merge branch 'for-3.8' of git://linux-nfs.org/~bfields/linux 2012-12-20 14:04:11 -08:00
ext2
ext3 block: optionally snapshot page contents to provide stable pages during write 2013-02-21 17:22:20 -08:00
ext4 mm: only enforce stable page writes if the backing device requires it 2013-02-21 17:22:19 -08:00
f2fs f2fs: use _safe() version of list_for_each 2013-01-22 10:49:00 +09:00
fat fat: fix incorrect function comment 2012-12-20 17:40:20 -08:00
freevxfs
fscache FS-Cache: Clear remaining page count on retrieval cancellation 2012-12-20 22:35:15 +00:00
fuse fuse: allow control of adaptive readdirplus use 2013-02-07 14:25:44 +01:00
gfs2 mm: only enforce stable page writes if the backing device requires it 2013-02-21 17:22:19 -08:00
hfs fs/hfs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:05 -08:00
hfsplus Merge branch 'akpm' (Andrew's patch-bomb) 2012-12-20 20:00:43 -08:00
hostfs
hpfs Merge branch 'master' into for-next 2013-01-29 10:48:30 +01:00
hppfs
hugetlbfs
isofs
jbd jbd: don't wake kjournald unnecessarily 2013-01-14 22:50:45 +01:00
jbd2 Various bug fixes for ext4. Perhaps the most serious bug fixed is one 2013-01-02 09:57:34 -08:00
jffs2 fs/jffs2: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:05 -08:00
jfs Merge branch 'master' into for-next 2013-01-29 10:48:30 +01:00
lockd NLM: Ensure that we resend all pending blocking locks after a reclaim 2013-02-19 12:18:27 -05:00
logfs fs/logfs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:05 -08:00
minix minix: drop vmtruncate 2012-12-20 18:40:53 -05:00
ncpfs ncpfs: drop vmtruncate 2012-12-20 18:40:54 -05:00
nfs umount oops when remove blocklayoutdriver first 2013-02-17 15:40:15 -05:00
nfs_common
nfsd fs/nfsd: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:05 -08:00
nilfs2 Merge branch 'akpm' (incoming from Andrew) 2013-02-21 17:38:49 -08:00
nls
notify inotify: remove broken mask checks causing unmount to be EINVAL 2013-02-21 17:22:16 -08:00
ntfs ntfs: drop vmtruncate 2012-12-20 18:40:55 -05:00
ocfs2 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-02-21 17:40:58 -08:00
omfs
openpromfs
proc swap: make each swap partition have one address_space 2013-02-23 17:50:17 -08:00
pstore A few fixes to reduce places where pstore might hang 2013-02-21 09:38:18 -08:00
qnx4
qnx6 treewide: Fix typo in various drivers 2013-01-09 11:43:32 +01:00
quota
ramfs
reiserfs
romfs
squashfs
sysfs Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sysv
ubifs ubifs: wait for page writeback to provide stable pages 2013-02-21 17:22:20 -08:00
udf UDF: Fix a null pointer dereference in udf_sb_free_partitions 2013-01-14 22:53:47 +01:00
ufs fs/ufs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:06 -08:00
xfs Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
Kconfig fuse: Move CUSE Kconfig entry from fs/Kconfig into fs/fuse/Kconfig 2013-01-17 13:08:45 +01:00
Kconfig.binfmt
Makefile
aio.c mm: make do_mmap_pgoff return populate as a size in bytes, not as a bool 2013-02-23 17:50:11 -08:00
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf.c binfmt_elf: remove unused argument in fill_elf_header 2013-02-21 17:22:26 -08:00
binfmt_elf_fdpic.c cputime: Use accessors to read task cputime stats 2013-01-27 19:23:31 +01:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c exec: do not leave bprm->interp on stack 2012-12-20 17:40:19 -08:00
binfmt_script.c exec: do not leave bprm->interp on stack 2012-12-20 17:40:19 -08:00
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c fs/block_dev.c: page cache wrongly left invalidated after revalidate_disk() 2013-02-21 17:22:16 -08:00
buffer.c mm: only enforce stable page writes if the backing device requires it 2013-02-21 17:22:19 -08:00
char_dev.c
compat.c
compat_binfmt_elf.c
compat_ioctl.c
coredump.c
coredump.h
dcache.c vfs: d_obtain_alias() needs to use "/" as default name. 2012-12-20 18:49:10 -05:00
dcookies.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c epoll: prevent missed events on EPOLL_CTL_MOD 2013-01-02 09:16:43 -08:00
exec.c fs/exec.c: work around icc miscompilation 2013-01-11 14:54:55 -08:00
fcntl.c
fhandle.c Merge branch 'for-3.8' of git://linux-nfs.org/~bfields/linux 2012-12-20 14:04:11 -08:00
fifo.c
file.c misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
file_table.c
filesystems.c
fs-writeback.c
fs_struct.c
generic_acl.c
inode.c
internal.h
ioctl.c
ioprio.c
libfs.c vfs: drop vmtruncate 2012-12-20 18:46:29 -05:00
locks.c
mbcache.c
mount.h
mpage.c
namei.c vfs: fix renameat to retry on ESTALE errors 2012-12-20 18:50:05 -05:00
namespace.c
no-block.c
open.c vfs: make fchownat retry once on ESTALE errors 2012-12-20 18:50:07 -05:00
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c sendfile: allows bypassing of notifier events 2012-12-20 17:40:21 -08:00
read_write.h
readdir.c
select.c sched/rt: Move rt specific bits into new header file 2013-02-07 20:51:08 +01:00
seq_file.c seq_file: fix new kernel-doc warnings 2013-01-10 14:35:24 -08:00
signalfd.c
splice.c tcp: fix MSG_SENDPAGE_NOTLAST logic 2013-01-06 20:58:13 -08:00
stack.c
stat.c vfs: fix readlinkat to retry on ESTALE 2012-12-20 18:50:01 -05:00
statfs.c vfs: fix user_statfs to retry once on ESTALE errors 2012-12-20 18:50:07 -05:00
super.c
sync.c
timerfd.c
utimes.c vfs: allow utimensat() calls to retry once on an ESTALE error 2012-12-20 18:50:08 -05:00
xattr.c vfs: make lremovexattr retry once on ESTALE error 2012-12-20 18:50:11 -05:00
xattr_acl.c