Messages in this thread | | | Date | Wed, 6 Jul 2016 15:50:16 +0900 | From | Minchan Kim <> | Subject | Re: [patch for-4.7] mm, compaction: prevent VM_BUG_ON when terminating freeing scanner |
| |
On Wed, Jun 29, 2016 at 02:47:20PM -0700, David Rientjes wrote: > It's possible to isolate some freepages in a pageblock and then fail > split_free_page() due to the low watermark check. In this case, we hit > VM_BUG_ON() because the freeing scanner terminated early without a > contended lock or enough freepages. > > This should never have been a VM_BUG_ON() since it's not a fatal > condition. It should have been a VM_WARN_ON() at best, or even handled > gracefully. > > Regardless, we need to terminate anytime the full pageblock scan was not > done. The logic belongs in isolate_freepages_block(), so handle its state > gracefully by terminating the pageblock loop and making a note to restart > at the same pageblock next time since it was not possible to complete the > scan this time. > > Reported-by: Minchan Kim <minchan@kernel.org> > Signed-off-by: David Rientjes <rientjes@google.com> Tested-by: Minchan Kim <minchan@kernel.org>
I don't know you sill send updated version based on Joonsoo again. Anyway, this patch itself doesn't trigger VM_BUG_ON in my test.
Thanks.
| |