On Fri, May 16, 2014 at 2:47 AM, Vlastimil Babka <vbabka@xxxxxxx> wrote: > 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. Unfortunately, there isn't much useful in the logs of the boot failures/hangs since they mostly silently hang. However, on one platform (Marvell Armada 370 Mirabox), it reports a failure to allocate memory, and the RCU stall detection kicks in: [ 1.298234] xhci_hcd 0000:02:00.0: xHCI Host Controller [ 1.303485] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 1 [ 1.310966] xhci_hcd 0000:02:00.0: Couldn't initialize memory [ 22.245395] INFO: rcu_sched detected stalls on CPUs/tasks: {} (detected by 0, t=2102 jiffies, g=-282, c=-283, q=16) [ 22.255886] INFO: Stall ended before state dump start [ 48.095396] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:1] Reverting this commit makes them all happy again. Kevin -- 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>