1
linux/fs
Hugh Dickins deceb6cd17 [PATCH] mm: follow_page with inner ptlock
Final step in pushing down common core's page_table_lock.  follow_page no
longer wants caller to hold page_table_lock, uses pte_offset_map_lock itself;
and so no page_table_lock is taken in get_user_pages itself.

But get_user_pages (and get_futex_key) do then need follow_page to pin the
page for them: take Daniel's suggestion of bitflags to follow_page.

Need one for WRITE, another for TOUCH (it was the accessed flag before:
vanished along with check_user_page_readable, but surely get_numa_maps is
wrong to mark every page it finds as accessed), another for GET.

And another, ANON to dispose of untouched_anonymous_page: it seems silly for
that to descend a second time, let follow_page observe if there was no page
table and return ZERO_PAGE if so.  Fix minor bug in that: check VM_LOCKED -
make_pages_present ought to make readonly anonymous present.

Give get_numa_maps a cond_resched while we're there.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:41 -07:00
..
9p [PATCH] v9fs: remove additional buffer allocation from v9fs_file_read and v9fs_file_write 2005-10-11 09:46:54 -07:00
adfs [ARM] fs/adfs/adfs.h: "extern inline" doesn't make sense 2005-08-20 17:20:28 +01:00
affs [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
afs [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
autofs [PATCH] autofs: fix "busy inodes after umount..." 2005-09-09 13:57:31 -07:00
autofs4 [PATCH] Fix up symlink function pointers 2005-08-19 18:08:21 -07:00
befs befs: fix up missed follow_link declaration change 2005-08-20 13:20:01 -07:00
bfs [PATCH] bfs iget() abuses 2005-10-04 13:22:01 -07:00
cifs [PATCH] cifs: Add support for suspend 2005-09-23 11:37:53 -07:00
coda [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
cramfs [PATCH] fs/cramfs/uncompress.c should #include <linux/cramfs_fs.h> 2005-09-10 10:06:35 -07:00
debugfs [PATCH] remove duplicate get_dentry functions in various places 2005-06-23 09:45:20 -07:00
devfs [PATCH] Fix up symlink function pointers 2005-08-19 18:08:21 -07:00
devpts [PATCH] Generic VFS fallback for security xattrs 2005-09-05 00:05:52 -07:00
efs
exportfs
ext2 [PATCH] Fix ext2_new_inode() failure paths 2005-09-28 07:46:40 -07:00
ext3 [PATCH] Fix ext3 warning for unused var 2005-10-28 13:57:57 -07:00
fat [PATCH] fat: fix adate 2005-09-21 10:12:18 -07:00
freevxfs [PATCH] fs: convert kcalloc to kzalloc 2005-09-07 16:57:46 -07:00
fuse [PATCH] fuse: check O_DIRECT 2005-09-30 12:41:18 -07:00
hfs [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
hfsplus [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
hostfs [PATCH] uml: remove empty hostfs_truncate method 2005-09-30 12:41:18 -07:00
hpfs [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
hppfs [PATCH] hppfs: fix symlink error path 2005-08-26 11:39:19 -07:00
hugetlbfs [PATCH] mm: unmap_vmas with inner ptlock 2005-10-29 21:40:41 -07:00
isofs Check input buffer size in zisofs 2005-08-06 09:42:06 -07:00
jbd [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
jffs [PATCH] janitor: jffs/intrep: list_for_each_entry 2005-09-10 10:06:32 -07:00
jffs2 [PATCH] jffs/jffs2: remove wrong function prototypes 2005-09-07 16:57:29 -07:00
jfs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 2005-10-28 12:44:24 -07:00
lockd [PATCH] RPC: remove xprt->nocong 2005-09-23 12:38:47 -04:00
minix [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
msdos
ncpfs [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
nfs NFS: Allow files that are open for write to invalidate caches 2005-10-27 22:12:45 -04:00
nfs_common [PATCH] nfsacl: Solaris VxFS compatibility fix 2005-10-11 09:46:54 -07:00
nfsd [PATCH] nfsd4: fix setclientid unlock of unlocked state lock 2005-09-13 08:22:32 -07:00
nls
ntfs [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
openpromfs
partitions Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
proc [PATCH] mm: follow_page with inner ptlock 2005-10-29 21:40:41 -07:00
qnx4 [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
ramfs
reiserfs [PATCH] gfp_t: reiserfs mapping_set_gfp_mask() use 2005-10-28 08:16:51 -07:00
relayfs [PATCH] relayfs: fix bogus param value in call to vmap 2005-10-10 08:39:50 -07:00
romfs
smbfs [PATCH] fs: fix-up schedule_timeout() usage 2005-09-10 10:06:36 -07:00
sysfs [PATCH] Fix oops in sysfs_hash_and_remove_file() 2005-08-26 19:37:13 -07:00
sysv [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
udf [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
ufs [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
vfat
xfs [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
aio.c [PATCH] aio syscalls are not checked by lsm 2005-10-23 16:38:38 -07:00
attr.c [PATCH] inotify 2005-07-12 20:38:38 -07:00
bad_inode.c
binfmt_aout.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
binfmt_elf_fdpic.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
binfmt_elf.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
binfmt_em86.c
binfmt_flat.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
binfmt_misc.c
binfmt_script.c
binfmt_som.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
bio.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
block_dev.c [PATCH] block: add unlocked_ioctl support for block devices 2005-06-23 09:45:32 -07:00
buffer.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
char_dev.c [PATCH] cdev: cdev_put oops 2005-07-12 16:01:02 -07:00
compat_ioctl.c [PATCH] usb: Patch for USBDEVFS_IOCTL from 32-bit programs 2005-10-28 16:47:46 -07:00
compat.c [PATCH] mm: update_hiwaters just in time 2005-10-29 21:40:39 -07:00
dcache.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
dcookies.c [PATCH] dcookies.c: use proper refcounting functions 2005-07-07 18:23:52 -07:00
direct-io.c [PATCH] core remove PageReserved 2005-10-29 21:40:39 -07:00
dnotify.c
dquot.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
eventpoll.c [PATCH] epoll: handle timeout overflow 2005-09-28 07:46:41 -07:00
exec.c [PATCH] mm: ptd_alloc take ptlock 2005-10-29 21:40:40 -07:00
fcntl.c [PATCH] files: lock-free fd look-up 2005-09-09 13:57:55 -07:00
fifo.c
file_table.c [PATCH] files: files struct with RCU 2005-09-09 13:57:55 -07:00
file.c [PATCH] Fix the fdtable freeing in the case of vmalloced fdset/arrays 2005-09-14 12:38:26 -07:00
filesystems.c
fs-writeback.c [PATCH] O(1) sb list traversing on syncs 2005-06-23 09:45:27 -07:00
inode.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
inotify.c [PATCH] inotify/idr leak fix 2005-10-23 16:38:39 -07:00
ioctl.c
ioprio.c Don't allow normal users to set idle IO priority 2005-08-20 18:51:29 -07:00
Kconfig [PATCH] fuse: add required version info 2005-09-28 07:46:40 -07:00
Kconfig.binfmt
libfs.c [PATCH] fix fsync(dir) return value for ram-based filesystems 2005-06-25 16:24:38 -07:00
locks.c Fix Connectathon locking test failure 2005-10-18 14:20:21 -07:00
Makefile [PATCH] FUSE - MAINTAINERS, Kconfig and Makefile changes 2005-09-09 14:03:44 -07:00
mbcache.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
mpage.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
namei.c VFS: Make link_path_walk set LOOKUP_CONTINUE before calling permission(). 2005-10-18 14:20:18 -07:00
namespace.c [PATCH] janitor: fs/namespace.c: list_for_each_entry 2005-09-10 10:06:32 -07:00
nfsctl.c
open.c VFS: Allow the filesystem to return a full file pointer on open intent 2005-10-18 14:20:16 -07:00
pipe.c [PATCH] sched: TASK_NONINTERACTIVE 2005-09-10 10:06:22 -07:00
posix_acl.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
quota_v1.c
quota_v2.c
quota.c [PATCH] O(1) sb list traversing on syncs 2005-06-23 09:45:27 -07:00
read_write.c [PATCH] readv/writev syscalls are not checked by lsm 2005-09-29 15:42:08 -07:00
readdir.c
select.c [PATCH] files: lock-free fd look-up 2005-09-09 13:57:55 -07:00
seq_file.c
stat.c
super.c [PATCH] set mnt_namespace in the correct place 2005-07-07 18:23:52 -07:00
xattr_acl.c
xattr.c [PATCH] fsnotify: hook on removexattr, too 2005-09-07 16:57:27 -07:00