[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1804271103160.11686@nuc-kabylake>
Date: Fri, 27 Apr 2018 11:07:07 -0500 (CDT)
From: Christopher Lameter <cl@...ux.com>
To: Michal Hocko <mhocko@...nel.org>
cc: Christoph Hellwig <hch@...radead.org>,
"Luis R. Rodriguez" <mcgrof@...nel.org>, linux-mm@...ck.org,
Jan Kara <jack@...e.cz>, matthew@....cx, x86@...nel.org,
luto@...capital.net, martin.petersen@...cle.com,
jthumshirn@...e.de, broonie@...nel.org, linux-spi@...r.kernel.org,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
"lsf-pc@...ts.linux-foundation.org"
<lsf-pc@...ts.linux-foundation.org>
Subject: Re: [LSF/MM TOPIC NOTES] x86 ZONE_DMA love
On Fri, 27 Apr 2018, Michal Hocko wrote:
> On Thu 26-04-18 22:35:56, Christoph Hellwig wrote:
> > On Thu, Apr 26, 2018 at 09:54:06PM +0000, Luis R. Rodriguez wrote:
> > > In practice if you don't have a floppy device on x86, you don't need ZONE_DMA,
> >
> > I call BS on that, and you actually explain later why it it BS due
> > to some drivers using it more explicitly. But even more importantly
> > we have plenty driver using it through dma_alloc_* and a small DMA
> > mask, and they are in use - we actually had a 4.16 regression due to
> > them.
>
> Well, but do we need a zone for that purpose? The idea was to actually
> replace the zone by a CMA pool (at least on x86). With the current
> implementation of the CMA we would move the range [0-16M] pfn range into
> zone_movable so it can be used and we would get rid of all of the
> overhead each zone brings (a bit in page flags, kmalloc caches and who
> knows what else)
Well it looks like what we are using it for is to force allocation from
low physical memory if we fail to obtain proper memory through a normal
channel. The use of ZONE_DMA is only there for emergency purposes.
I think we could subsitute ZONE_DMA32 on x87 without a problem.
Which means that ZONE_DMA has no purpose anymore.
Can we make ZONE_DMA on x86 refer to the low 32 bit physical addresses
instead and remove ZONE_DMA32?
That would actually improve the fallback because you have more memory for
the old devices.
Powered by blists - more mailing lists