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
..
2005-09-19 19:57:36 -07:00
2005-10-28 16:28:04 +01:00
2005-10-10 21:21:10 -07:00
2005-10-10 21:23:28 -07:00
2005-09-19 15:34:40 -07:00
2005-09-13 08:22:31 -07:00
2005-10-18 23:19:47 -07:00
2005-10-03 14:13:38 -07:00
2005-10-14 17:10:12 -07:00
2005-10-17 17:03:57 -07:00
2005-10-22 14:27:05 -04:00
2005-10-08 15:00:57 -07:00
2005-10-28 08:16:49 -07:00
2005-10-04 13:22:01 -07:00
2005-10-28 08:16:47 -07:00
2005-10-28 08:56:34 -07:00
2005-10-19 23:11:33 -07:00
2005-10-28 08:16:47 -07:00
2005-10-08 15:00:57 -07:00
2005-10-16 00:17:33 -07:00
2005-10-08 15:00:57 -07:00
2005-09-12 08:48:08 -07:00
2005-09-14 08:35:09 -04:00
2005-09-14 08:36:54 -04:00
2005-09-18 00:19:32 -07:00
2005-10-28 09:52:56 -07:00
2005-10-08 15:00:57 -07:00
2005-09-12 10:50:58 -07:00
2005-10-28 08:53:49 -07:00
2005-10-29 02:23:58 -02:00
2005-10-28 16:30:00 -02:00
2005-09-13 08:22:32 -07:00
2005-09-13 08:22:32 -07:00
2005-10-28 16:25:58 -04:00
2005-10-28 08:16:47 -07:00
2005-10-28 10:13:16 -07:00
2005-10-28 08:16:46 -07:00
2005-10-21 22:58:51 -04:00
2005-10-21 22:58:51 -04:00
2005-10-21 22:58:51 -04:00
2005-10-29 21:40:41 -07:00
2005-10-28 14:02:10 -07:00
2005-10-28 14:02:10 -07:00
2005-10-28 14:02:10 -07:00
2005-10-28 14:02:09 -07:00
2005-10-28 14:02:13 -07:00
2005-10-28 14:02:15 -07:00
2005-10-28 10:13:16 -07:00
2005-09-14 08:33:24 -04:00
2005-10-29 19:32:20 +01:00
2005-10-28 08:16:47 -07:00
2005-09-21 23:03:55 -04:00
2005-09-27 15:59:43 -07:00
2005-09-19 15:41:28 -07:00
2005-10-03 14:35:55 -07:00
2005-10-28 13:09:47 -07:00
2005-09-12 10:49:58 -07:00
2005-10-03 14:13:38 -07:00
2005-10-28 08:16:47 -07:00
2005-09-17 11:50:02 -07:00
2005-09-13 08:22:28 -07:00
2005-10-08 14:53:31 -07:00
2005-09-28 09:10:47 -07:00
2005-10-08 15:00:57 -07:00
2005-10-28 08:16:47 -07:00
2005-10-22 14:27:05 -04:00
2005-10-17 08:59:10 -07:00
2005-10-28 08:16:51 -07:00
2005-10-28 08:16:47 -07:00
2005-10-29 21:40:35 -07:00
2005-10-08 15:00:57 -07:00
2005-09-14 08:46:21 -04:00
2005-10-29 21:40:41 -07:00
2005-10-28 08:16:51 -07:00
2005-10-28 14:02:15 -07:00
2005-10-18 14:20:16 -07:00
2005-10-28 16:30:00 -02:00
2005-10-08 15:00:57 -07:00
2005-10-12 15:12:21 -07:00
2005-10-27 22:12:39 -04:00
2005-10-27 22:12:44 -04:00
2005-10-28 08:16:51 -07:00
2005-10-29 11:25:16 -07:00
2005-10-28 15:36:58 -07:00
2005-09-13 08:22:31 -07:00
2005-10-28 16:47:52 -07:00
2005-10-08 15:00:57 -07:00
2005-10-28 08:16:47 -07:00
2005-10-17 15:27:58 -07:00
2005-09-22 22:17:33 -07:00
2005-10-28 08:16:47 -07:00
2005-10-29 21:40:41 -07:00
2005-10-29 21:40:35 -07:00
2005-10-29 21:40:39 -07:00
2005-09-14 08:36:54 -04:00
2005-10-28 08:16:47 -07:00
2005-10-29 19:31:54 +01:00
2005-10-29 19:31:54 +01:00
2005-10-28 16:30:00 -02:00
2005-10-28 08:16:47 -07:00
2005-10-08 15:00:57 -07:00
2005-10-28 08:16:49 -07:00
2005-10-28 08:16:47 -07:00
2005-09-21 10:12:18 -07:00
2005-09-22 04:30:44 -03:00
2005-10-28 08:16:47 -07:00
2005-09-18 00:18:32 -07:00
2005-10-28 08:16:46 -07:00
2005-10-28 08:16:49 -07:00
2005-10-28 16:47:45 -07:00
2005-10-28 16:47:51 -07:00
2005-10-28 16:47:46 -07:00
2005-09-13 08:22:32 -07:00
2005-10-29 21:40:35 -07:00
2005-09-14 08:35:09 -04:00
2005-10-28 14:02:12 -07:00