[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e6345c27-78fd-be72-9551-1d1fd5db37a4@oracle.com>
Date: Fri, 10 Jun 2022 14:56:08 -0700
From: Dongli Zhang <dongli.zhang@...cle.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: iommu@...ts.linux-foundation.org, xen-devel@...ts.xenproject.org,
x86@...nel.org, linuxppc-dev@...ts.ozlabs.org,
virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, m.szyprowski@...sung.com,
jgross@...e.com, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, sstabellini@...nel.org,
mpe@...erman.id.au, konrad.wilk@...cle.com, mst@...hat.com,
jasowang@...hat.com, joe.jin@...cle.com
Subject: Re: [PATCH RFC v1 4/7] swiotlb: to implement io_tlb_high_mem
Hi Christoph,
On 6/8/22 10:05 PM, Christoph Hellwig wrote:
> All this really needs to be hidden under the hood.
>
Since this patch file has 200+ lines, would you please help clarify what does
'this' indicate?
The idea of this patch:
1. Convert the functions to initialize swiotlb into callee. The callee accepts
'true' or 'false' as arguments to indicate whether it is for default or new
swiotlb buffer, e.g., swiotlb_init_remap() into __swiotlb_init_remap().
2. At the caller side to decide if we are going to call the callee to create the
extra buffer.
Do you mean the callee if still *too high level* and all the
decision/allocation/initialization should be down at *lower level functions*?
E.g., if I re-work the "struct io_tlb_mem" to make the 64-bit buffer as the 2nd
array of io_tlb_mem->slots[32_or_64][index], the user will only notice it is the
default 'io_tlb_default_mem', but will not be able to know if it is allocated
from 32-bit or 64-bit buffer.
Thank you very much for the feedback.
Dongli Zhang
Powered by blists - more mailing lists