kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #160205
[Bug 1534647] Re: Collateral damage due to kernel configuration change enabling CONFIG_ZONE_DEVICE (Kernel 4.4 amd64)
Looks like there is an upstream patch that now allows both ZONE_DMA and
ZONE_DEVICE to be set. Lets see how that works wrt regressing support
for legacy DMA support. For those of you that have installed lowlatency,
please try generic again once this fix is uploaded.
** Changed in: linux (Ubuntu Xenial)
Status: Fix Released => In Progress
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1534647
Title:
Collateral damage due to kernel configuration change enabling
CONFIG_ZONE_DEVICE (Kernel 4.4 amd64)
Status in linux package in Ubuntu:
In Progress
Status in linux source package in Xenial:
In Progress
Bug 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/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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1534647/+subscriptions
References