On Fri, Jan 22, 2016 at 8:46 PM, Sudip Mukherjee <sudipm.mukher...@gmail.com> wrote: > Hi All, > Commit 033fbae988fc ("mm: ZONE_DEVICE for "device memory"") has > introduced CONFIG_ZONE_DEVICE while sacrificing CONFIG_ZONE_DMA. > Distributions like Ubuntu has started enabling CONFIG_ZONE_DEVICE and > thus breaking parallel port. Please have a look at > https://bugzilla.kernel.org/show_bug.cgi?id=110931 for the bug report. > > Apart from parallel port I can see some sound drivers will also break. > > Now what is the possible solution for this?
The tradeoff here is enabling direct-I/O for persistent memory vs support for legacy devices. One possible solution is to alias ZONE_DMA and ZONE_DEVICE. At early boot if pmem is detected disable these legacy devices, or the reverse disable DMA to persistent memory if a legacy device is detected. The latter is a bit harder to do as I think we would want to make the decision early during memory init before we would know if any parallel ports or ISA sound cards are present.