Comment 0 for bug 1879711

Revision history for this message
Andrea Righi (arighi) wrote :

[Impact]

The option CONFIG_DMA_CMA seems to cause resume problems on the t2.* instance types (Xen).

With this option enabled device drivers are allowed to use the Contiguous Memory Allocator (CMA) for DMA operations. So, drivers can allocate large physically-contiguous blocks of memory, instead of relying on the I/O map or scatter-gather support.

However, on resume, the memory used by DMA needs to be re-initialized / re-allocated, but it may fail to allocate large chunks of contiguous memory due to the fact that we also need to restore the hibernation image, using more memory and causing a system hang during the resume process.

[Test case]

Hibernate / resume any t2.* instance (especially t2.nano, where the problem seems to happen 100% of the times after 2 consecutive hibernate/resume cycles).

[Fix]

Disable CONFIG_DMA_CMA.

NOTE: this option is already disabled in the generic kernel (see LP: #1362261).

[Regression potential]

It is a .config change, no regression potential except with the fact that disabling this option also disables the module 'etnaviv' (Vivante graphic card), that is not really needed in the aws kernel.