[PATCH] hugetlb unmap_vmas() SMP && PREEMPT fix
Patch from Kevin Pedretti <pedretti@ieee.org> The unmap_vmas() logic is designed to chew away at all the pages without holding off preemption for too long. But with CONFIG_SMP=y and CONFIG_PREEMPT=y the number of pages which we batch up between rescheduling opportunities is not a multiple of HPAGE_SIZE. So unmap_vmas() ends up calling unmap_hugepage_range() with a poorly aligned&sized region, and it goes BUG. Fix that up by ensuring that we always work across hugepage regions in HPAGE_SIZE chunks.
Showing
Please register or sign in to comment