[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH] tools: add x2APIC entries in MADT based on APIC ID



Hi,

On 14/03/2024 13:50, Jan Beulich wrote:
> On 13.03.2024 16:35, Matthew Barnes wrote:
>> libacpi is a tool that is used by libxl (for PVH guests) and hvmloader
>> (for HVM guests) to construct ACPI tables for guests.
>>
>> Currently, libacpi only uses APIC entries to enumerate processors for
>> guests in the MADT.
>>
>> The APIC ID field in APIC entries is an octet big, which is fine for
>> xAPIC IDs, but not so for sufficiently large x2APIC IDs.
> 
> Yet where would those come from? I can see that down the road we will
> have such, but right now I don't think we do. Without saying so, this
> change could be mistaken for a fix of an active bug.

It's worth adding some context here.

You're quite right in that it's not immediately needed now, but with the
work done on improving the state of CPU topologies exposed to guests[1]
the strict binding between APIC ID and vCPU ID breaks. It's not hard to
imagine sparsity in the APIC ID space forcing the maximum one to peak
beyond 254. The generator present in that series tries to be
conservative and avoid it, but general topologies can theoretically
waste copious amounts of APIC ID space (i.e: by reserving more width
than strictly required to represent IDs of a certain level), and
exposing the host topology sensibly becomes difficult if we're subject
to limitations the host does not have.

[1]
https://lore.kernel.org/xen-devel/20240109153834.4192-1-alejandro.vallejo@xxxxxxxxx/

Cheers,
Alejandro



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.