Commit dddc4ef9 authored by Cédric Le Goater's avatar Cédric Le Goater Committed by Michael Ellerman

KVM: PPC: Book3S HV: XIVE: Add a comment regarding VP numbering

When the XIVE resources are allocated at the HW level, the VP
structures describing the vCPUs of a guest are distributed among
the chips to optimize the PowerBUS usage. For best performance, the
guest vCPUs can be pinned to match the VP structure distribution.

Currently, the VP identifiers are deduced from the vCPU id using
the kvmppc_pack_vcpu_id() routine which is not incorrect but not
optimal either. It VSMT is used, the result is not continuous and
the constraints on HW resources described above can not be met.
Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201210171450.1933725-14-clg@kaod.org
parent 07efbca1
......@@ -218,6 +218,17 @@ static inline struct kvmppc_xive_src_block *kvmppc_xive_find_source(struct kvmpp
return xive->src_blocks[bid];
}
/*
* When the XIVE resources are allocated at the HW level, the VP
* structures describing the vCPUs of a guest are distributed among
* the chips to optimize the PowerBUS usage. For best performance, the
* guest vCPUs can be pinned to match the VP structure distribution.
*
* Currently, the VP identifiers are deduced from the vCPU id using
* the kvmppc_pack_vcpu_id() routine which is not incorrect but not
* optimal either. It VSMT is used, the result is not continuous and
* the constraints on HW resources described above can not be met.
*/
static inline u32 kvmppc_xive_vp(struct kvmppc_xive *xive, u32 server)
{
return xive->vp_base + kvmppc_pack_vcpu_id(xive->kvm, server);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment