Re: [PATCH 11/12] swiotlb: merge swiotlb-xen initialization into swiotlb

Boris Ostrovsky
2022-03-09T15:20:08Z

On 3/9/22 1:18 AM, Christoph Hellwig wrote:
> On Tue, Mar 08, 2022 at 04:38:21PM -0500, Boris Ostrovsky wrote:
>> On 3/1/22 5:53 AM, Christoph Hellwig wrote:
>>> Allow to pass a remap argument to the swiotlb initialization functions
>>> to handle the Xen/x86 remap case. ARM/ARM64 never did any remapping
>>> from xen_swiotlb_fixup, so we don't even need that quirk.
>>
>> Any chance this patch could be split? Lots of things are happening here and it's somewhat hard to review. (Patch 7 too BTW but I think I managed to get through it)
> What would be your preferred split?

swiotlb_init() rework to be done separately?

>
>>> diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
>>> index e0def4b1c3181..2f2c468acb955 100644
>>> --- a/arch/x86/kernel/pci-dma.c
>>> +++ b/arch/x86/kernel/pci-dma.c
>>> @@ -71,15 +71,12 @@ static inline void __init pci_swiotlb_detect(void)
>>> #endif /* CONFIG_SWIOTLB */
>>> #ifdef CONFIG_SWIOTLB_XEN
>>> -static bool xen_swiotlb;
>>> -
>>> static void __init pci_xen_swiotlb_init(void)
>>> {
>>> if (!xen_initial_domain() && !x86_swiotlb_enable)
>>> return;
>>
>> Now that there is a single call site for this routine I think this check can be dropped. We are only called here for xen_initial_domain()==true.
> The callsite just checks xen_pv_domain() and itself is called
> unconditionally during initialization.

Oh, right, nevermind. *pv* domain.

-boris