diff options
author | Ingo Molnar <mingo@elte.hu> | 2005-01-07 21:51:58 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-01-07 21:51:58 -0800 |
commit | a9f3cca1b083d1396720cf7981332c73b02d7459 (patch) | |
tree | 62ef12efffca580e4b8b5c69f11d0a7535bd03d2 /mm | |
parent | 94017c753ff3d3ffaf5e246928621787497e0fa9 (diff) | |
download | history-a9f3cca1b083d1396720cf7981332c73b02d7459.tar.gz |
[PATCH] sched: mm: fix scheduling latencies in get_user_pages()
The attached patch fixes long scheduling latencies in get_user_pages().
Has been tested as part of the -VP patchset.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/memory.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/memory.c b/mm/memory.c index 9c168c91f281fc..24079123809fac 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -920,6 +920,8 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, do { struct page *map; int lookup_write = write; + + cond_resched_lock(&mm->page_table_lock); while (!(map = follow_page(mm, start, lookup_write))) { /* * Shortcut for anonymous pages. We don't want |