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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.