(2011/05/24 18:16), Mel Gorman wrote: > On Tue, May 24, 2011 at 06:05:59PM +0900, KOSAKI Motohiro wrote: >>>>> Why? >>>> >>>> Otherwise, we don't have good PCP dropping trigger. Big machine might have >>>> big pcp cache. >>>> >>> >>> Big machines also have a large cost for sending IPIs. >> >> Yes. But it's only matter if IPIs are frequently happen. >> But, drain_all_pages() is NOT only IPI source. some vmscan function (e.g. >> try_to_umap) makes a lot of IPIs. >> >> Then, it's _relatively_ not costly. I have a question. Do you compare which >> operation and drain_all_pages()? IOW, your "costly" mean which scenario suspect? >> > > I am concerned that if the machine gets into trouble and we are failing > to reclaim that sending more IPIs is not going to help any. There is no > evidence at the moment that sending extra IPIs here will help anything. In old days, we always call drain_all_pages() if did_some_progress!=0. But current kernel only call it when get_page_from_freelist() fail. So, wait_iff_congested() may help but no guarantee to help us. If you still strongly worry about IPI cost, I'm concern to move drain_all_pages() to more unfrequently point. but to ignore pcp makes less sense, IMHO. -- 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>