← Back to team overview

kernel-packages team mailing list archive

[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