From: Louis Chauvet <louis.chauvet@bootlin.com>
To: Pekka Paalanen <pekka.paalanen@haloniitty.fi>
Cc: "Arthur Grillo" <arthurgrillo@riseup.net>,
"Miquel Raynal" <miquel.raynal@bootlin.com>,
"Maíra Canal" <mairacanal@riseup.net>,
"Maxime Ripard" <mripard@kernel.org>,
"Rodrigo Siqueira" <rodrigosiqueiramelo@gmail.com>,
"Melissa Wen" <melissa.srw@gmail.com>,
"Haneen Mohammed" <hamohammed.sa@gmail.com>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
marcheu@google.com, seanpaul@google.com,
nicolejadeyee@google.com, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com
Subject: Re: [PATCH 2/2] drm/vkms: Use a simpler composition function
Date: Wed, 7 Feb 2024 17:03:26 +0100 [thread overview]
Message-ID: <ZcOpzszyR49_MlqB@localhost.localdomain> (raw)
In-Reply-To: <20240207104407.7b06bac2@eldfell>
Hello Pekka, Arthur,
[...]
> > > Would it be possible to have a standardised benchmark specifically
> > > for performance rather than correctness, in IGT or where-ever it
> > > would make sense? Then it would be simple to tell contributors to
> > > run this and report the numbers before and after.
> > >
> > > I would propose this kind of KMS layout:
> > >
> > > - CRTC size 3841 x 2161
> > > - primary plane, XRGB8888, 3639 x 2161 @ 101,0
> > > - overlay A, XBGR2101010, 3033 x 1777 @ 201,199
> > > - overlay B, ARGB8888, 1507 x 1400 @ 1800,250
> > >
> > > The sizes and positions are deliberately odd to try to avoid happy
> > > alignment accidents. The planes are big, which should let the pixel
> > > operations easily dominate performance measurement. There are
> > > different pixel formats, both opaque and semi-transparent. There is
> > > lots of plane overlap. The planes also do not cover the whole CRTC
> > > leaving the background visible a bit.
> > >
> > > There should be two FBs per each plane, flipped alternatingly each
> > > frame. Writeback should be active. Run this a number of frames, say,
> > > 100, and measure the kernel CPU time taken. It's supposed to take at
> > > least several seconds in total.
> > >
> > > I think something like this should be the base benchmark. One can
> > > add more to it, like rotated planes, YUV planes, etc. or switch
> > > settings on the existing planes. Maybe even FB_DAMAGE_CLIPS. Maybe
> > > one more overlay that is very tall and thin.
> > >
> > > Just an idea, what do you all think?
> >
> > Hi Pekka,
> >
> > I just finished writing this proposal using IGT.
> >
> > I got pretty interesting results:
> >
> > The mentioned commit 8356b97906503a02125c8d03c9b88a61ea46a05a took
> > around 13 seconds. While drm-misc/drm-misc-next took 36 seconds.
> >
> > I'm currently bisecting to be certain that the change to the
> > pixel-by-pixel is the culprit, but I don't see why it wouldn't be.
> >
> > I just need to do some final touches on the benchmark code and it
> > will be ready for revision.
>
> Awesome, thank you very much for doing that!
> pq
I also think it's a good benchmarks for classic configurations. The odd
size is a very nice idea to verify the corner cases of line-by-line
algorithms.
When this is ready, please share the test, so I can check if my patch is
as performant as before.
Thank you for this work.
Have a nice day,
Louis Chauvet
--
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2024-02-07 16:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-01 17:31 [PATCH 0/2] Better support for complex pixel formats Louis Chauvet
2024-02-01 17:31 ` [PATCH 1/2] drm/vkms: Create a type to check a function pointer validity Louis Chauvet
2024-02-02 20:59 ` Arthur Grillo
2024-02-01 17:31 ` [PATCH 2/2] drm/vkms: Use a simpler composition function Louis Chauvet
2024-02-02 8:55 ` Pekka Paalanen
2024-02-02 9:26 ` Miquel Raynal
2024-02-02 9:47 ` Maíra Canal
2024-02-02 9:53 ` Maxime Ripard
2024-02-02 12:13 ` Miquel Raynal
2024-02-02 15:49 ` Pekka Paalanen
2024-02-02 16:07 ` Miquel Raynal
2024-02-02 19:45 ` Pekka Paalanen
2024-02-06 17:57 ` Arthur Grillo
2024-02-07 8:44 ` Pekka Paalanen
2024-02-07 16:03 ` Louis Chauvet [this message]
2024-02-07 20:21 ` Arthur Grillo
2024-02-02 20:02 ` Arthur Grillo
2024-02-05 10:12 ` Pekka Paalanen
2024-02-05 10:19 ` Pekka Paalanen
2024-02-07 15:49 ` Louis Chauvet
2024-02-08 9:39 ` Pekka Paalanen
2024-02-15 17:43 ` Arthur Grillo
2024-02-02 10:24 ` Pekka Paalanen
2024-02-01 22:07 ` [PATCH 0/2] Better support for complex pixel formats Maira Canal
2024-02-02 8:15 ` Louis Chauvet
2024-02-02 9:40 ` Maíra Canal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZcOpzszyR49_MlqB@localhost.localdomain \
--to=louis.chauvet@bootlin.com \
--cc=airlied@gmail.com \
--cc=arthurgrillo@riseup.net \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=hamohammed.sa@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mairacanal@riseup.net \
--cc=marcheu@google.com \
--cc=melissa.srw@gmail.com \
--cc=miquel.raynal@bootlin.com \
--cc=mripard@kernel.org \
--cc=nicolejadeyee@google.com \
--cc=pekka.paalanen@haloniitty.fi \
--cc=rodrigosiqueiramelo@gmail.com \
--cc=seanpaul@google.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox