On 23 May 2014 07:49, Kevin Hilman [off-list ref] wrote:
On Fri, May 16, 2014 at 2:47 AM, Vlastimil Babka [off-list ref] wrote:
quoted
Compaction uses compact_checklock_irqsave() function to periodically check for
lock contention and need_resched() to either abort async compaction, or to
free the lock, schedule and retake the lock. When aborting, cc->contended is
set to signal the contended state to the caller. Two problems have been
identified in this mechanism.
This patch (or later version) has hit next-20140522 (in the form
commit 645ceea9331bfd851bc21eea456dda27862a10f4) and according to my
bisect, appears to be the culprit of several boot failures on ARM
platforms.
On i.MX6 where CMA is enabled, the commit causes the drivers calling
dma_alloc_coherent() fail to probe. Tracing it a little bit, it seems
dma_alloc_from_contiguous() always return page as NULL after this
commit.
Shawn