On Fri, Jan 13, 2012 at 09:04:31PM +0100, Michal Nazarewicz wrote:>On Thu, Dec 29, 2011 at 01:39:05PM +0100, Marek Szyprowski wrote:
>>From: Michal Nazarewicz <mina86@xxxxxxxxxx>
>>+ /* Make sure all pages are isolated. */
>>+ if (!ret) {
>>+ lru_add_drain_all();
>>+ drain_all_pages();
>>+ if (WARN_ON(test_pages_isolated(start, end)))
>>+ ret = -EBUSY;
>>+ }
On Tue, 10 Jan 2012 15:16:13 +0100, Mel Gorman <mel@xxxxxxxxx> wrote:
>Another global IPI seems overkill. Drain pages only from the local CPU
>(drain_pages(get_cpu()); put_cpu()) and test if the pages are isolated.
Is get_cpu() + put_cpu() required? Won't drain_local_pages() work?
drain_local_pages() calls smp_processor_id() without preemption
disabled.