preempt_enable_no_resched() was used based on review feedback that had no strong objection at the time. It avoided introducing a preemption point where one didn't exist before which was marginal at best. However, it is hazardous to the RT tree according to Thomas Gleixner and is a violation of its expected use according to Peter Zijlstra. In Peter's own words "the only acceptable use of preempt_enable_no_resched() is if the next statement is a schedule() variant". The impact of using preempt_enable in this particular fast path is negligible. This is a fix to the mmotm patch mm-page_alloc-only-use-per-cpu-allocator-for-irq-safe-requests.patch Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index eaecb4b145e6..2a36dad03dac 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2520,7 +2520,7 @@ void free_hot_cold_page(struct page *page, bool cold) } out: - preempt_enable_no_resched(); + preempt_enable(); } /* @@ -2686,7 +2686,7 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, __count_zid_vm_events(PGALLOC, page_zonenum(page), 1 << order); zone_statistics(preferred_zone, zone); } - preempt_enable_no_resched(); + preempt_enable(); return page; } -- 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>