Activity log for bug #1823753

Date Who What changed Old value New value Message
2019-04-08 15:46:46 dann frazier bug added bug
2019-04-08 16:00:06 Ubuntu Kernel Bot linux (Ubuntu): status New Incomplete
2019-04-08 19:16:12 dann frazier attachment added dmesg w/ CMA_DEBUG=y https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1823753/+attachment/5254279/+files/dmesg-cma-debug.txt
2019-04-08 21:03:27 dann frazier linux (Ubuntu): status Incomplete Confirmed
2019-04-11 07:30:34 Andrew Cloke bug added subscriber Andrew Cloke
2019-04-17 21:16:25 dann frazier bug added subscriber Fred Kimmy
2019-04-25 18:57:02 Seth Forshee bug added subscriber Seth Forshee
2019-05-03 14:06:29 Terry Rudd bug added subscriber Terry Rudd
2019-05-03 14:10:21 Terry Rudd linux (Ubuntu): importance Undecided High
2019-05-14 02:29:55 Guanhua Ye bug added subscriber Guanhua Ye
2019-05-30 21:08:24 dann frazier nominated for series Ubuntu Eoan
2019-05-30 21:08:24 dann frazier bug task added linux (Ubuntu Eoan)
2019-05-30 21:08:24 dann frazier nominated for series Ubuntu Disco
2019-05-30 21:08:24 dann frazier bug task added linux (Ubuntu Disco)
2019-05-30 21:08:32 dann frazier linux (Ubuntu Disco): status New In Progress
2019-05-30 21:08:35 dann frazier linux (Ubuntu Eoan): status Confirmed In Progress
2019-05-30 21:08:38 dann frazier linux (Ubuntu Disco): assignee dann frazier (dannf)
2019-05-30 21:08:40 dann frazier linux (Ubuntu Disco): importance Undecided High
2019-05-30 21:08:41 dann frazier linux (Ubuntu Eoan): assignee dann frazier (dannf)
2019-06-04 20:44:12 dann frazier description On some arm64 systems[*] we are seeing a spew of messages on the console: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 This appears to be non-fatal - impacted systems all eventually boot. But, at least in the case of the HP m400, it slows down boot enough that MAAS' default timeout will expire before completing deployment. [*] Observed on a HiSilicon D06 w/ SMMU disabled in the BIOS, as well as an HP m400 (APM X-Gene) cartridge - although, not on another one that - in theory - should be identical. [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression where other systems began spewing on the order of 10K of these messages on boot: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on: - Raspberry Pi 3B (see Comment #22) - Power9 system (ppc64el) - z/VM instance (s390x) - Intel Centerton system (amd64)
2019-06-04 20:44:31 dann frazier description [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression where other systems began spewing on the order of 10K of these messages on boot: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on: - Raspberry Pi 3B (see Comment #22) - Power9 system (ppc64el) - z/VM instance (s390x) - Intel Centerton system (amd64) [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing on the order of 10K of these messages on boot: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64)
2019-06-04 20:44:53 dann frazier description [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing on the order of 10K of these messages on boot: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64)
2019-06-04 20:45:29 dann frazier description [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64)
2019-06-04 21:01:06 dann frazier description [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) Test builds are staged at ppa:dannf/cma.
2019-06-04 21:01:17 dann frazier description [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) Test builds are staged at ppa:dannf/cma. [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) Test builds are staged in ppa:dannf/cma
2019-06-04 21:02:06 dann frazier description [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) Test builds are staged in ppa:dannf/cma [Impact] We enabled CONFIG_DMA_CMA to fix bug 1803206, but that led to a regression on other arm64 systems that began spewing these messages on boot - sometimes > 10K of them: [ 19.534097] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534109] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534113] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534126] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534130] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534142] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534146] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534157] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534161] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 [ 19.534173] cma: cma_alloc: alloc failed, req-size: 16 pages, ret: -12 [ 19.534177] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12 In a previous SRU (bug 1828092), we worked around this by just rate-limiting these messages. These are "err" priority messages though, so even a lower number of them is still disconcerting. [Fix] 1) Bump up the amount of available CMA on arm64 to 32M (same as upstream defconfig) 2) A patch-set from linux-next that redirects dma-direct contiguous allocations to alloc_pages() for single page allocations (single pages are by definition contiguous), avoiding CMA usage/fragmentation. [Test Case] dmesg | grep "cma_alloc: alloc failed" Some system configs will still have some of these errors even after this fix - but this should reduce them significantly. Per-driver optimizations can be used to make further improvements, but we should track those in other bugs. [Regression Risk] Tested on a HiSilicon D06 and HP m400 (Hi1620 & X-Gene arm64). Regression tested on:  - Raspberry Pi 3B (see Comment #22)  - Power9 system (ppc64el)  - z/VM instance (s390x)  - Intel Centerton system (amd64) Test builds are staged at http://ppa.launchpad.net/~dannf/ubuntu/cma
2019-06-07 20:25:28 Seth Forshee linux (Ubuntu Eoan): status In Progress Fix Committed
2019-07-01 08:44:31 Kleber Sacilotto de Souza linux (Ubuntu Disco): status In Progress Fix Committed
2019-07-03 11:02:48 Ubuntu Kernel Bot tags verification-needed-disco
2019-07-10 22:23:32 dann frazier tags verification-needed-disco verification-done-disco
2019-07-15 22:40:05 Launchpad Janitor linux (Ubuntu Eoan): status Fix Committed Fix Released
2019-07-23 05:25:24 Launchpad Janitor linux (Ubuntu Disco): status Fix Committed Fix Released
2019-07-23 05:25:24 Launchpad Janitor cve linked 2018-12126
2019-07-23 05:25:24 Launchpad Janitor cve linked 2018-12127
2019-07-23 05:25:24 Launchpad Janitor cve linked 2018-12130
2019-07-23 05:25:24 Launchpad Janitor cve linked 2019-11091
2019-07-23 05:25:24 Launchpad Janitor cve linked 2019-11833
2019-07-23 05:25:24 Launchpad Janitor cve linked 2019-11884
2019-07-24 20:59:11 Brad Figg tags verification-done-disco cscc verification-done-disco