Messages in this thread | | | Subject | Re: [PATCH RFC v1 4/7] swiotlb: to implement io_tlb_high_mem | From | Dongli Zhang <> | Date | Fri, 10 Jun 2022 14:56:08 -0700 |
| |
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
| |