On Wed, Nov 14, 2012 at 02:59:30PM +0100, Michal Hocko wrote: > On Tue 13-11-12 16:10:41, Johannes Weiner wrote: > > Would it make sense to stick a wait_on_page_locked() in there just so > > that we don't busy spin on a page under migration/reclaim? > > Hmm, this would also mean that get_page_unless_zero would fail as well > and so we would schedule in mem_cgroup_force_empty_list. It is true that > there might be no other runnable task so we can busy loop so yes this > would help. Care to cook the patch? Eventually get_page_unless_zero() would fail but we could still spin on a page while it's off the LRU and migration performs writeback on it e.g. cond_resched() does not necessarily schedule just because there is another runnable task, I think, it's voluntary preemption when the task needs rescheduling anyway, not yield. Maybe not worth bothering... -- 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>