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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/