[igt-dev] [PATCH i-g-t] RFC tests/xe: Stress test GT C states
Sundaresan, Sujaritha
sujaritha.sundaresan at intel.com
Mon Jul 31 10:07:45 UTC 2023
On 7/31/2023 1:57 PM, Riana Tauro wrote:
> Hi Suja
>
> On 7/31/2023 1:00 PM, Sundaresan, Sujaritha wrote:
>>
>> On 7/28/2023 11:39 AM, Riana Tauro wrote:
>>> stress test GT C states by checking if GT is in C0 when
>>> forcewake is acquired and in C6 once released.
>>>
>>> Signed-off-by: Riana Tauro <riana.tauro at intel.com>
>>> ---
>>> tests/xe/xe_pm_residency.c | 27 +++++++++++++++++++++++++++
>>> 1 file changed, 27 insertions(+)
>>>
>>> diff --git a/tests/xe/xe_pm_residency.c b/tests/xe/xe_pm_residency.c
>>> index 4936de166..9713e61cd 100644
>>> --- a/tests/xe/xe_pm_residency.c
>>> +++ b/tests/xe/xe_pm_residency.c
>>> @@ -85,6 +85,29 @@ static void test_idle_residency(int fd, int gt)
>>> assert_within_epsilon(residency_end - residency_start,
>>> elapsed_ms, tolerance);
>>> }
>>> +/**
>>> + * SUBTEST: stress-gt-c6
>>> + * Description: stress test GT C states by acquiring/releasing
>>> forcewake
>>> + * Run type: FULL
>>> + */
>>> +static void stress_c6(int fd, int n)
>>> +{
>>> + int handle, gt;
>>> +
>>> + while (n--) {
>>> + handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
>>> + igt_assert(handle >= 0);
>>> + /* check if all gts are in C0 after forcewake is acquired */
>>> + xe_for_each_gt(fd, gt)
>>> + igt_assert_f(!xe_is_gt_in_c6(fd, gt), "GT in C6\n");
>>> + close(handle);
>>> + /* check if all gts are in C6 after forcewake is released */
>>> + xe_for_each_gt(fd, gt)
>>> + igt_assert_f(igt_wait(xe_is_gt_in_c6(fd, gt), 1000, 1),
>>> + "GT is not in C6\n");
>>> + }
>>> +}
>>> +
>>> igt_main
>>> {
>>> int fd, gt;
>>> @@ -104,6 +127,10 @@ igt_main
>>> xe_for_each_gt(fd, gt)
>>> test_idle_residency(fd, gt);
>>> + igt_describe("stress test GT C states by acquiring/releasing
>>> forcewake");
>>> + igt_subtest("stress-gt-c6")
>>> + stress_c6(fd, 16);
>>> +
>>> igt_fixture {
>>> close(fd);
>>> }
>>
>> Hi Riana,
>>
>> Just curious, But usually stress testing involves some sort a
>> workload running to test out rc6 during the run. Will you be
>> introducing another test with a spinner of sorts ?I will be sending
>> out another patch series for exec as well which will
> be similar to rc6-idle of i915.
Got it.
>
> This patch does only acquiring/releasing forcewake and checks GT C
> states. added a loop to check multiple times.
The loop for this case makes sense.
>
> Should i rename the test?
Maybe ? But I'm not sure to what. I guess this is between sanity and
stress test. So that can be your call I guess.
>
> Thanks
> Riana
>>
>> Thanks,
>>
>> Suja
>>
More information about the igt-dev
mailing list