Re: [RFC] mm: Allow ZONE_DMA32 to be disabled via kernel command line

From: H. Peter Anvin
Date: Fri Jan 27 2023 - 01:53:57 EST


On January 26, 2023 10:35:55 PM PST, Christoph Hellwig <hch@xxxxxx> wrote:
>On Thu, Jan 26, 2023 at 10:51:17AM -0800, Dave Hansen wrote:
>>
>> Also, what are the practical implications here? There are obviously an
>> ever decreasing number of 32-bit DMA devices out there. Somebody that
>> has one and uses this option might be sad because now they're stuck
>> using ZONE_DMA which is quite tiny.
>>
>> What other ZONE_DMA32 users are left? Will anyone else care? There is
>> some DMA32 slab and vmalloc() functionality remaining. Is it impacted?
>
>DMA32 never supported lab. But < 64-bit DMA device are unfortunately
>still not uncommon, and configuring out ZONE_DMA32 breaks them pretty
>badly as we guarantee that a DMA mask of 32-bit always works.
>
>So I'm not only very much against this patch, but also the currently
>existing way to configure out ZONE_DMA32 on arm64, which needs to
>go away.
>
>If people want ZONE_DMA32 to go away we need something to replace
>it first, like a large enough CMA region in the 32-bit addressable
>range.

Not to mention all kinds of odd masks like 30, 31, 39, 40, 46, ... bits.