According to fs/aio.c, cond_resched is called under a spinlock,
and the function call path is:
aio_migratepage (acquire the spinlock)
  migrate_page_copy
    copy_huge_page
      __copy_gigantic_page
        cond_resched
          might_sleep

This bug is found by my static analysis tool and my code review.
A possible fix is to remove cond_resched in __copy_gigantic_page.


Thanks,
Jia-Ju Bai


Reply via email to