[PATCH i-g-t v4 0/7] benchmarks/kms_fb_stress: benchmark formats

Arthur Grillo arthurgrillo at riseup.net
Thu Apr 11 19:53:26 UTC 2024


	

On 11/04/24 15:51, Arthur Grillo wrote:
> After some discussion[1], I changed how to tackle the problem. (2x)
> 
> With the upcoming addition of YUV format to VKMS[2] it would be great to
> test the their performance. So, test all formats available.
> 
> - PATCH #1: Just a non-related assert that I found needed while developing
> - PATCH #2: Log the KMS structure
> - PATCH #3: Moving code, should be noop
> - PATCH #4 & #5: Fix a couple of bugs found while developing
> - PATCH #6: Add a enable_overlay flag in preparation for #7
> - PATCH #7: The new benchmark that tests performance between format
> 
> [1]: https://lore.kernel.org/all/6979cd2e-2b00-4dc4-8e41-66b435cf7ea8@riseup.net/
> [2]: https://lore.kernel.org/all/20240304-yuv-v4-11-76beac8e9793@bootlin.com/

I forgot to add some sample output:

(kms_fb_stress:182) igt_kms-WARNING: Output Writeback-1 could not be assigned to a pipe
IGT-Version: 1.28-g932c859782a1 (x86_64) (Linux: 6.8.0-rc6-virtme x86_64)
Using IGT_SRANDOM=1712863941 for randomisation
Opened device: /dev/dri/card0
(kms_fb_stress:182) igt_kms-WARNING: Output Writeback-1 could not be assigned to a pipe
Starting subtest: default-stress
KMS structure:
	CRTC:
		rectangle: 4096x2160+0+0
	primary:
		format: XRGB8888
		rectangle: 3639x2160+101+0
	overlay A:
		format: XRGB16161616
		rectangle: 3033x1777+201+199
	overlay B:
		format: ARGB8888
		rectangle: 1507x1400+1800+250
	writeback:
		format: XRGB8888
		rectangle: 0x0+0+0
Time spent in the loop with 100 frames: 40.485739s.
Subtest default-stress: SUCCESS (41.617s)
Starting subtest: formats
KMS structure:
	CRTC:
		rectangle: 4096x2160+0+0
	primary:
		format: ARGB8888
		rectangle: 3639x2160+101+0
	writeback:
		format: ARGB8888
		rectangle: 4096x2160+0+0
Time spent in the loop with 100 frames: 27.605521s.
KMS structure:
	CRTC:
		rectangle: 4096x2160+0+0
	primary:
		format: XRGB8888
		rectangle: 3639x2160+101+0
	writeback:
		format: XRGB8888
		rectangle: 4096x2160+0+0
Time spent in the loop with 100 frames: 27.990571s.
KMS structure:
	CRTC:
		rectangle: 4096x2160+0+0
	primary:
		format: XRGB16161616
		rectangle: 3639x2160+101+0
	writeback:
		format: XRGB16161616
		rectangle: 4096x2160+0+0
Time spent in the loop with 100 frames: 27.755050s.
KMS structure:
	CRTC:
		rectangle: 4096x2160+0+0
	primary:
		format: ARGB16161616
		rectangle: 3639x2160+101+0
	writeback:
		format: ARGB16161616
		rectangle: 4096x2160+0+0
Time spent in the loop with 100 frames: 26.409543s.
KMS structure:
	CRTC:
		rectangle: 4096x2160+0+0
	primary:
		format: RGB565
		rectangle: 3639x2160+101+0
	writeback:
		format: RGB565
		rectangle: 4096x2160+0+0
Time spent in the loop with 100 frames: 164.752689s.
Subtest formats: SUCCESS (278.339s)

> 
> Signed-off-by: Arthur Grillo <arthurgrillo at riseup.net>
> ---
> Changes in v4:
> - Change (again) how the new test is done, now it just uses the primary
>   and writeback, and changes the formats based on primary format list.
>   (Pekka Paalanen)
> - Add an enable_overlay flag, for the new test.
> - Remove the addition of command-line flags, as I don't see them that
>   useful anymore (Pekka Paalanen)
> - Change the RGB565 test to a stride test (Pekka Paalanen)
> - Link to v3: https://lore.kernel.org/r/20240307-kms_fb_stress-dev-v3-0-d5b948a541be@riseup.net
> 
> Changes in v3:
> - Make the help message and commit message more clear on how the
>   command-line options work (Louis Chauvet)
> - Link to v2: https://lore.kernel.org/r/20240305-kms_fb_stress-dev-v2-0-78888a38e563@riseup.net
> 
> Changes in v2:
> - Change how the command-line options work, now they pin the specific
>   format and let the other change.
> - Add a patch to test all the possible formats combination
> - Add a couple of patches to fix some bugs
> - Move the KMS logging patch to the beginning of the series
> - Move the default_kms definition to the static struct data_t variable
> - Link to v1: https://lore.kernel.org/r/20240226-kms_fb_stress-dev-v1-0-1c14942b1244@riseup.net
> 
> ---
> Arthur Grillo (7):
>       benchmarks/kms_fb_stress: Assert that we have an supported pipe
>       benchmarks/kms_fb_stress: Log the KMS structure
>       benchmarks/kms_fb_stress: Separate the benchmark in a subtest
>       benchmarks/kms_fb_stress: Free resources on the stress procedure
>       benchmarks/kms_fb_stress: Don't paint the FB's if the format is not supported by Pixman
>       benchmarks/kms_fb_stress: Optionally enable the overlay planes
>       benchmarks/kms_fb_stress: Create a benchmark for formats
> 
>  benchmarks/kms_fb_stress.c | 252 ++++++++++++++++++++++++++++++++++-----------
>  1 file changed, 192 insertions(+), 60 deletions(-)
> ---
> base-commit: e490cb6ffc497275544b36871c24af0a04f98470
> change-id: 20240226-kms_fb_stress-dev-c93ae176f901
> 
> Best regards,


More information about the igt-dev mailing list