On Thu, Dec 07, 2017 at 06:03:14PM +0100, Lucas Stach wrote: > Since 9cca35d42eb6 (mm, page_alloc: enable/disable IRQs once when freeing > a list of pages) we see excessive IRQ disabled times of up to 250ms on an > embedded ARM system (tracing overhead included). > > This is due to graphics buffers being freed back to the system via > release_pages(). Graphics buffers can be huge, so it's not hard to hit > cases where the list of pages to free has 2048 entries. Disabling IRQs > while freeing all those pages is clearly not a good idea. > 250ms to free 2048 entries? That seems excessive but I guess the embedded ARM system is not that fast. > Introduce a batch limit, which allows IRQ servicing once every few pages. > The batch count is the same as used in other parts of the MM subsystem > when dealing with IRQ disabled regions. > > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Thanks. Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> -- Mel Gorman SUSE Labs -- 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>