2016-01-15 16:11:00 |
Doug Smythies |
description |
Late in the kernel 4.4 RC (Release Candidate) cycle (between rc7 and rc8), Ubuntu implemented an amd64 kernel configuration change enabling CONFIG_ZONE_DEVICE.
The related email: https://lists.ubuntu.com/archives/kernel-team/2016-January/067683.html
The commit message does mention collateral damage: "In effect, this precludes devices that can only DMA from
memory addresses below 16MB". Indeed we already have a complaint about a sound card that doesn't work as of kernel 4.4-rc8.
If CONFIG_ZONE_DEVICE is enabled, then CONFIG_ZONE_DMA is forced to disabled, which in turn forces these devices, all are sound cards, and their derivative devices, to be disabled:
Avance Logic ALS300/ALS300+
ALi M5451 PCI Audio Controller
Aztech AZF3328 / PCI168
Emu10k1 (SB Live!, Audigy, E-mu APS)
Emu10k1X (Dell OEM Version)
ESS ES1938/1946/1969 (Solo-1)
ESS ES1968/1978 (Maestro-1/2/2E)
ICEnsemble ICE1712 (Envy24)
ESS Allegro/Maestro3
S3 SonicVibes
Trident 4D-Wave DX/NX; SiS 7018.
References: linux/mm/Kconfig; linux/mm/Kconfig
One test done (suggested by apw on IRC) was to remove the dependency of ZONE_DEVICE on !ZONE_DMA, but that causes:
"#error ZONES_SHIFT -- too many zones configured adjust calculation", as apw predicted.
In a mindless way, I tried to allow more zones in linux/include/linux/page-flags-layout.h, but that caused a bunch of "shifting by too many bits type errors. Anyway it seems that MAX_NR_ZONES is, at least partially, hard coded to 4 in some array definitions and such.
Please do not ask me to do "apport-collect" for this bug report as it is not needed, nor relevant. |
Late in the kernel 4.4 RC (Release Candidate) cycle (between rc7 and rc8), Ubuntu implemented an amd64 kernel configuration change enabling CONFIG_ZONE_DEVICE.
The related email: https://lists.ubuntu.com/archives/kernel-team/2016-January/067683.html
The commit message does mention collateral damage: "In effect, this precludes devices that can only DMA from memory addresses below 16MB".
Indeed we already have a complaint about a sound card that doesn't work as of kernel 4.4-rc8.
If CONFIG_ZONE_DEVICE is enabled, then CONFIG_ZONE_DMA is forced to disabled, which in turn forces these devices, all are sound cards, and their derivative devices, to be disabled:
Avance Logic ALS300/ALS300+
ALi M5451 PCI Audio Controller
Aztech AZF3328 / PCI168
Emu10k1 (SB Live!, Audigy, E-mu APS)
Emu10k1X (Dell OEM Version)
ESS ES1938/1946/1969 (Solo-1)
ESS ES1968/1978 (Maestro-1/2/2E)
ICEnsemble ICE1712 (Envy24)
ESS Allegro/Maestro3
S3 SonicVibes
Trident 4D-Wave DX/NX; SiS 7018.
References: linux/mm/Kconfig; linux/sound/pci/Kconfig
One test done (suggested by apw on IRC) was to remove the dependency of ZONE_DEVICE on !ZONE_DMA, but that causes:
"#error ZONES_SHIFT -- too many zones configured adjust calculation", as apw predicted.
In a mindless way, I tried to allow more zones in linux/include/linux/page-flags-layout.h, but that caused a bunch of "shifting by too many bits type errors. Anyway it seems that MAX_NR_ZONES is, at least partially, hard coded to 4 in some array definitions and such.
Please do not ask me to do "apport-collect" for this bug report as it is not needed, nor relevant. |
|