Re: [RFC v2 26/32] x86/mm: Move force_dma_unencrypted() to common code

From: Kirill A. Shutemov
Date: Wed May 12 2021 - 09:08:25 EST


On Mon, May 10, 2021 at 03:23:29PM -0700, Dave Hansen wrote:
> On 5/10/21 3:19 PM, Kuppuswamy, Sathyanarayanan wrote:
> > On 5/7/21 2:54 PM, Dave Hansen wrote:
> >> This doesn't seem much like common code to me.  It seems like 100% SEV
> >> code.  Is this really where we want to move it?
> >
> > Both SEV and TDX code has requirement to enable
> > CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED and define force_dma_unencrypted()
> > function.
> >
> > force_dma_unencrypted() is modified by patch titled "x86/tdx: Make DMA
> > pages shared" to add TDX guest specific support.
> >
> > Since both SEV and TDX code uses it, its moved to common file.
>
> That's not an excuse to have a bunch of AMD (or Intel) feature-specific
> code in a file named "common". I'd make an attempt to keep them
> separate and then call into the two separate functions *from* the common
> function.

But why? What good does the additional level of inderection brings?

It's like saying arch/x86/kernel/cpu/common.c shouldn't have anything AMD
or Intel specific. If a function can cover both vendors I don't see a
point for additinal complexity.

--
Kirill A. Shutemov