Re: [PATCH V6 4/4] KVM: selftests: Add test for configure of x86 APIC bus frequency

From: Reinette Chatre
Date: Mon May 20 2024 - 12:53:18 EST


Hi Sean,

On 5/20/2024 9:12 AM, Sean Christopherson wrote:
> On Mon, May 20, 2024, Reinette Chatre wrote:
>> On 5/6/2024 11:35 AM, Reinette Chatre wrote:
>>> diff --git a/tools/testing/selftests/kvm/x86_64/apic_bus_clock_test.c b/tools/testing/selftests/kvm/x86_64/apic_bus_clock_test.c
>>> new file mode 100644
>>> index 000000000000..56eb686144c6
>>> --- /dev/null
>>> +++ b/tools/testing/selftests/kvm/x86_64/apic_bus_clock_test.c
>>> @@ -0,0 +1,166 @@
>>> +// SPDX-License-Identifier: GPL-2.0-only
>>> +/*
>>> + * Test configure of APIC bus frequency.
>>> + *
>>> + * Copyright (c) 2024 Intel Corporation
>>> + *
>>> + * To verify if the APIC bus frequency can be configured this, test starts
>>> + * by setting the TSC frequency in KVM, and then:
>>> + * For every APIC timer frequency supported:
>>> + * * In the guest:
>>> + * * * Start the APIC timer by programming the APIC TMICT (initial count
>>> + * register) to the largest value possible to guarantee that it will
>>> + * not expire during the test,
>>> + * * * Wait for a known duration based on previously set TSC frequency,
>>> + * * * Stop the timer and read the APIC TMCCT (current count) register to
>>> + * determine the count at that time (TMCCT is loaded from TMICT when
>>> + * TMICT is programmed and then starts counting down).
>>> + * * In the host:
>>> + * * * Determine if the APIC counts close to configured APIC bus frequency
>>> + * while taking into account how the APIC timer frequency was modified
>>> + * using the APIC TDCR (divide configuration register).
>>> + */
>>> +#define _GNU_SOURCE /* for program_invocation_short_name */
>>
>> As reported in [1] this #define is no longer needed after commit 730cfa45b5f4
>> ("KVM: selftests: Define _GNU_SOURCE for all selftests code"). This will be
>> fixed in next version of this series.
>
> Don't worry about sending another version just for this, I can clean this up when
> applying.

Thank you very much. At this time this is the only change planned for this series.
I do not know the status of all completed and planned merges during the merge
window, but I did a quick check and this series applies cleanly on top of today's tip
of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git. The kernel parts
passed a bisect test cleanly, while the selftest encountered just the warning related
to _GNU_SOURCE.

Reinette