Re: [PATCH 4/4] mm: vmscan: If kswapd has been running too long, allow it to sleep

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It would be better to put cond_resched after balance_pgdat?

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 292582c..61c45d0 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2753,6 +2753,7 @@ static int kswapd(void *p)
                 if (!ret) {
                         trace_mm_vmscan_kswapd_wake(pgdat->node_id, order);
                         order = balance_pgdat(pgdat, order,&classzone_idx);
+                       cond_resched();
                 }
         }
         return 0;

While it appears unlikely, there are bad conditions which can result
in cond_resched() being avoided.

Every reclaim priority decreasing or every shrink_zone() calling makes more
fine grained preemption. I think.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]