On 05/10/2017 11:27 PM, David Rientjes wrote: > We have encountered need_resched warnings in __collapse_huge_page_copy() > while doing {clear,copy}_user_highpage() over HPAGE_PMD_NR source pages. > > mm->mmap_sem is held for write, but the iteration is well bounded. > > Reschedule as needed. > > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> > --- > mm/khugepaged.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -612,7 +612,8 @@ static void __collapse_huge_page_copy(pte_t *pte, struct page *page, > spinlock_t *ptl) > { > pte_t *_pte; > - for (_pte = pte; _pte < pte+HPAGE_PMD_NR; _pte++) { > + for (_pte = pte; _pte < pte + HPAGE_PMD_NR; > + _pte++, page++, address += PAGE_SIZE) { > pte_t pteval = *_pte; > struct page *src_page; > > @@ -651,9 +652,7 @@ static void __collapse_huge_page_copy(pte_t *pte, struct page *page, > spin_unlock(ptl); > free_page_and_swap_cache(src_page); > } > - > - address += PAGE_SIZE; > - page++; > + cond_resched(); > } > } > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>