mm, thp: remove cond_resched from __collapse_huge_page_copy
authorDavid Rientjes <[email protected]>
Fri, 23 Jun 2017 22:08:38 +0000 (15:08 -0700)
committerLinus Torvalds <[email protected]>
Fri, 23 Jun 2017 23:15:55 +0000 (16:15 -0700)
commitc891d9f6bf2a78c9c657656872a60807820db4c8
treece2dac47780133fee1e18579af6070add62319b5
parenta38371cba67539ce6a5d5324db34bc2ddaf66cc1
mm, thp: remove cond_resched from __collapse_huge_page_copy

This is a partial revert of commit 338a16ba1549 ("mm, thp: copying user
pages must schedule on collapse") which added a cond_resched() to
__collapse_huge_page_copy().

On x86 with CONFIG_HIGHPTE, __collapse_huge_page_copy is called in
atomic context and thus scheduling is not possible.  This is only a
possible config on arm and i386.

Although need_resched has been shown to be set for over 100 jiffies
while doing the iteration in __collapse_huge_page_copy, this is better
than doing

if (in_atomic())
cond_resched()

to cover only non-CONFIG_HIGHPTE configs.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: David Rientjes <[email protected]>
Reported-by: Larry Finger <[email protected]>
Tested-by: Larry Finger <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/khugepaged.c