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