On 03/02/2025 1:03 pm, Jan Beulich wrote:
> On 03.02.2025 14:00, Jan Beulich wrote:
>> On 03.02.2025 13:45, Roger Pau Monné wrote:
>>> On Thu, Jan 30, 2025 at 12:12:31PM +0100, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/x86_64/mmconfig-shared.c
>>>> +++ b/xen/arch/x86/x86_64/mmconfig-shared.c
>>>> @@ -402,8 +402,6 @@ void __init acpi_mmcfg_init(void)
>>>> {
>>>> bool valid = true;
>>>>
>>>> - pci_segments_init();
>>>> -
>>>> /* MMCONFIG disabled */
>>>> if ((pci_probe & PCI_PROBE_MMCONF) == 0)
>>>> return;
>>>> --- a/xen/drivers/passthrough/x86/iommu.c
>>>> +++ b/xen/drivers/passthrough/x86/iommu.c
>>>> @@ -55,6 +55,8 @@ void __init acpi_iommu_init(void)
>>>> {
>>>> int ret = -ENODEV;
>>>>
>>>> + pci_segments_init();
>>> My preference might be to just place the pci_segments_init() call in
>>> __start_xen(),
>> As said in reply to Andrew - I was considering doing so as an alternative
>> to the moving done here. I can certainly do so, in case some non-negative
>> reply comes back from him.
> Oh, and: With further adjustments following from what Andrew had outlined,
> I'm actually moving the invocation of what was pci_segments_init() back to
> where it's now. (Which doesn't mean that couldn't be done from
> __start_xen(); just mentioning it.)
The name acpi_mmcfg_init() at least has a PCI implication, given mmcfg.
I know it's late in 4.20, and moving pci_segments_init() would be
acceptable at this juncture.
However, if you're making progress with improving radix trees, I think
that would be a better approach and probably fine to be considered at
this point.
~Andrew