Message ID | 20250123120749.90505-2-vaibhav@linux.ibm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | kvm powerpc/book3s-hv: Expose Hostwide counters as perf-events | expand |
On Thu, Jan 23, 2025 at 05:37:43PM +0530, Vaibhav Jain wrote: > diff --git a/Documentation/arch/powerpc/kvm-nested.rst b/Documentation/arch/powerpc/kvm-nested.rst > index 5defd13cc6c1..574592505604 100644 > --- a/Documentation/arch/powerpc/kvm-nested.rst > +++ b/Documentation/arch/powerpc/kvm-nested.rst > @@ -208,13 +208,9 @@ associated values for each ID in the GSB:: > flags: > Bit 0: getGuestWideState: Request state of the Guest instead > of an individual VCPU. > - Bit 1: takeOwnershipOfVcpuState Indicate the L1 is taking > - over ownership of the VCPU state and that the L0 can free > - the storage holding the state. The VCPU state will need to > - be returned to the Hypervisor via H_GUEST_SET_STATE prior > - to H_GUEST_RUN_VCPU being called for this VCPU. The data > - returned in the dataBuffer is in a Hypervisor internal > - format. > + Bit 1: getHostWideState: Request stats of the Host. This causes > + the guestId and vcpuId parameters to be ignored and attempting > + to get the VCPU/Guest state will cause an error. > Bits 2-63: Reserved > guestId: ID obtained from H_GUEST_CREATE > vcpuId: ID of the vCPU pass to H_GUEST_CREATE_VCPU > @@ -406,9 +402,10 @@ the partition like the timebase offset and partition scoped page > table information. > > +--------+-------+----+--------+----------------------------------+ > -| ID | Size | RW | Thread | Details | > -| | Bytes | | Guest | | > -| | | | Scope | | > +| ID | Size | RW |(H)ost | Details | > +| | Bytes | |(G)uest | | > +| | | |(T)hread| | > +| | | |Scope | | > +========+=======+====+========+==================================+ > | 0x0000 | | RW | TG | NOP element | > +--------+-------+----+--------+----------------------------------+ > @@ -434,6 +431,29 @@ table information. > | | | | |- 0x8 Table size. | > +--------+-------+----+--------+----------------------------------+ > | 0x0007-| | | | Reserved | > +| 0x07FF | | | | | > ++--------+-------+----+--------+----------------------------------+ > +| 0x0800 | 0x08 | R | H | Current usage in bytes of the | > +| | | | | L0's Guest Management Space | > +| | | | | for an L1-Lpar. | > ++--------+-------+----+--------+----------------------------------+ > +| 0x0801 | 0x08 | R | H | Max bytes available in the | > +| | | | | L0's Guest Management Space for | > +| | | | | an L1-Lpar | > ++--------+-------+----+--------+----------------------------------+ > +| 0x0802 | 0x08 | R | H | Current usage in bytes of the | > +| | | | | L0's Guest Page Table Management | > +| | | | | Space for an L1-Lpar | > ++--------+-------+----+--------+----------------------------------+ > +| 0x0803 | 0x08 | R | H | Max bytes available in the L0's | > +| | | | | Guest Page Table Management | > +| | | | | Space for an L1-Lpar | > ++--------+-------+----+--------+----------------------------------+ > +| 0x0804 | 0x08 | R | H | Cumulative Reclaimed bytes from | > +| | | | | L0 Guest's Page Table Management | > +| | | | | Space due to overcommit | > ++--------+-------+----+--------+----------------------------------+ > +| 0x0805-| | | | Reserved | > | 0x0BFF | | | | | > +--------+-------+----+--------+----------------------------------+ > | 0x0C00 | 0x10 | RW | T |Run vCPU Input Buffer: | The doc LGTM, thanks! Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
diff --git a/Documentation/arch/powerpc/kvm-nested.rst b/Documentation/arch/powerpc/kvm-nested.rst index 5defd13cc6c1..574592505604 100644 --- a/Documentation/arch/powerpc/kvm-nested.rst +++ b/Documentation/arch/powerpc/kvm-nested.rst @@ -208,13 +208,9 @@ associated values for each ID in the GSB:: flags: Bit 0: getGuestWideState: Request state of the Guest instead of an individual VCPU. - Bit 1: takeOwnershipOfVcpuState Indicate the L1 is taking - over ownership of the VCPU state and that the L0 can free - the storage holding the state. The VCPU state will need to - be returned to the Hypervisor via H_GUEST_SET_STATE prior - to H_GUEST_RUN_VCPU being called for this VCPU. The data - returned in the dataBuffer is in a Hypervisor internal - format. + Bit 1: getHostWideState: Request stats of the Host. This causes + the guestId and vcpuId parameters to be ignored and attempting + to get the VCPU/Guest state will cause an error. Bits 2-63: Reserved guestId: ID obtained from H_GUEST_CREATE vcpuId: ID of the vCPU pass to H_GUEST_CREATE_VCPU @@ -406,9 +402,10 @@ the partition like the timebase offset and partition scoped page table information. +--------+-------+----+--------+----------------------------------+ -| ID | Size | RW | Thread | Details | -| | Bytes | | Guest | | -| | | | Scope | | +| ID | Size | RW |(H)ost | Details | +| | Bytes | |(G)uest | | +| | | |(T)hread| | +| | | |Scope | | +========+=======+====+========+==================================+ | 0x0000 | | RW | TG | NOP element | +--------+-------+----+--------+----------------------------------+ @@ -434,6 +431,29 @@ table information. | | | | |- 0x8 Table size. | +--------+-------+----+--------+----------------------------------+ | 0x0007-| | | | Reserved | +| 0x07FF | | | | | ++--------+-------+----+--------+----------------------------------+ +| 0x0800 | 0x08 | R | H | Current usage in bytes of the | +| | | | | L0's Guest Management Space | +| | | | | for an L1-Lpar. | ++--------+-------+----+--------+----------------------------------+ +| 0x0801 | 0x08 | R | H | Max bytes available in the | +| | | | | L0's Guest Management Space for | +| | | | | an L1-Lpar | ++--------+-------+----+--------+----------------------------------+ +| 0x0802 | 0x08 | R | H | Current usage in bytes of the | +| | | | | L0's Guest Page Table Management | +| | | | | Space for an L1-Lpar | ++--------+-------+----+--------+----------------------------------+ +| 0x0803 | 0x08 | R | H | Max bytes available in the L0's | +| | | | | Guest Page Table Management | +| | | | | Space for an L1-Lpar | ++--------+-------+----+--------+----------------------------------+ +| 0x0804 | 0x08 | R | H | Cumulative Reclaimed bytes from | +| | | | | L0 Guest's Page Table Management | +| | | | | Space due to overcommit | ++--------+-------+----+--------+----------------------------------+ +| 0x0805-| | | | Reserved | | 0x0BFF | | | | | +--------+-------+----+--------+----------------------------------+ | 0x0C00 | 0x10 | RW | T |Run vCPU Input Buffer: |
Update kvm-nested APIv2 documentation to include five new Guest-State-Elements to fetch the hostwide counters. These counters are per L1-Lpar and indicate the amount of Heap/Page-table memory allocated, available and Page-table memory reclaimed for all L2-Guests active instances Cc: linux-doc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> --- Changelog v2->v3: * Minor reword for the cumulative reclaim counter [ Gautam ] v1->v2: * Reworded section on GSID [Gautam] --- Documentation/arch/powerpc/kvm-nested.rst | 40 +++++++++++++++++------ 1 file changed, 30 insertions(+), 10 deletions(-)