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 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/mm/Kconfig
One test done (suggested by apw on IRC) was to remove the dependency of ZONE_DEVICE on !ZONE_DMA, but that causes: 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.
"#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/
Please do not ask me to do "apport-collect" for this bug report as it is not needed, nor relevant.