From: Pekka Paalanen <ppaalanen@gmail.com>
To: Igor Torrente <igormtorrente@gmail.com>
Cc: hamohammed.sa@gmail.com, Thomas Zimmermann <tzimmermann@suse.de>,
rodrigosiqueiramelo@gmail.com, airlied@linux.ie,
Leandro Ribeiro <leandro.ribeiro@collabora.com>,
melissa.srw@gmail.com, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 0/8] Add new formats support to vkms
Date: Thu, 11 Nov 2021 10:32:16 +0200 [thread overview]
Message-ID: <20211111103216.23149c57@eldfell> (raw)
In-Reply-To: <CAOA8r4G50U0fxSfU0HZtZoZCK6fngPmxL3cM4LVpLQn=HfZG_Q@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3445 bytes --]
On Wed, 10 Nov 2021 14:32:26 -0300
Igor Torrente <igormtorrente@gmail.com> wrote:
> Hi Pekka,
>
> On Tue, Nov 9, 2021 at 6:32 AM Pekka Paalanen <ppaalanen@gmail.com> wrote:
> >
> > On Tue, 26 Oct 2021 08:34:00 -0300
> > Igor Torrente <igormtorrente@gmail.com> wrote:
> >
> > > Summary
> > > =======
> > > This series of patches refactor some vkms components in order to introduce
> > > new formats to the planes and writeback connector.
> > >
> > > Now in the blend function, the plane's pixels are converted to ARGB16161616
> > > and then blended together.
> > >
> > > The CRC is calculated based on the ARGB1616161616 buffer. And if required,
> > > this buffer is copied/converted to the writeback buffer format.
> > >
> > > And to handle the pixel conversion, new functions were added to convert
> > > from a specific format to ARGB16161616 (the reciprocal is also true).
> > >
> > > Tests
> > > =====
> > > This patch series was tested using the following igt tests:
> > > -t ".*kms_plane.*"
> > > -t ".*kms_writeback.*"
> > > -t ".*kms_cursor_crc*"
> > > -t ".*kms_flip.*"
> > >
> > > New tests passing
> > > -------------------
> > > - pipe-A-cursor-size-change
> > > - pipe-A-cursor-alpha-transparent
> > >
> > > Performance
> > > -----------
> > > Following some optimization proposed by Pekka Paalanen, now the code
> > > runs way faster than V1 and slightly faster than the current implementation.
> > >
> > > | Frametime |
> > > |:---------------:|:---------:|:--------------:|:------------:|
> > > | implmentation | Current | Per-pixel(V1) | Per-line(V2) |
> > > | frametime range | 8~22 ms | 32~56 ms | 6~19 ms |
> > > | Average | 10.0 ms | 35.8 ms | 8.6 ms |
> >
> > Wow, that's much better than I expected.
> >
> > What is your benchmark? That is, what program do you use and what
> > operations does it trigger to produce these measurements? What are the
> > sizes of all the planes/buffers involved? What kind of CPU was this ran
> > on?
>
> 1 and 2) I just measured the frametime of the IGT test ".*kms_cursor_crc*"
> using jiffies. I Collected all the frametimes, put all of them into a
> spreadsheet, calculated some values and drew some histograms.
>
> I mean, it is not the best benchmark, but at least give an idea of what
> is happening.
>
> 3) The primary plane was 1024x768, but the cursor plane
> varies between the tests. All XRGB_8888, if I'm not mistaken.
>
> 4) I tested it on a Qemu VM running on the Intel core i5 4440. ~3.3GHz
Hi Igor,
alright, that analysis sounds fine, even though varying cursor plane
size is casting some ambiguity on the results.
If you want to dig deeper into measuring this, I would suggest some
scenarios if at all possible:
- large primary plane and large cursor plane with 100% overlap, to
measure the raw pixel throughput
- large primary plane and small cursor plane with 100% overlap, to
measure the efficiency of skipping pixels that do not need blending
- large primary plane and large cursor plane with only a little
overlap (cursor largely off-screen), to measure the efficiency of
skipping pixels that do not contribute to the end result at all
But that's only curiosity, I think your existing benchmarks sound
perfectly fine as the difference is so big.
Thanks,
pq
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2021-11-11 8:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-26 11:34 [PATCH v2 0/8] Add new formats support to vkms Igor Torrente
2021-10-26 11:34 ` [PATCH v2 1/8] drm: vkms: Replace the deprecated drm_mode_config_init Igor Torrente
2021-10-26 11:34 ` [PATCH v2 2/8] drm: vkms: Alloc the compose frame using vzalloc Igor Torrente
2021-10-26 11:34 ` [PATCH v2 3/8] drm: vkms: Replace hardcoded value of `vkms_composer.map` to DRM_FORMAT_MAX_PLANES Igor Torrente
2021-11-03 15:40 ` Thomas Zimmermann
2021-10-26 11:34 ` [PATCH v2 4/8] drm: vkms: Add fb information to `vkms_writeback_job` Igor Torrente
2021-11-03 15:45 ` Thomas Zimmermann
2021-11-03 19:18 ` Igor Torrente
2021-11-04 7:21 ` Thomas Zimmermann
2021-10-26 11:34 ` [PATCH v2 5/8] drm: drm_atomic_helper: Add a new helper to deal with the writeback connector validation Igor Torrente
2021-10-28 21:38 ` Leandro Ribeiro
2021-11-03 15:03 ` Igor Torrente
2021-11-03 15:11 ` Leandro Ribeiro
2021-11-03 15:37 ` Thomas Zimmermann
2021-11-03 18:41 ` Igor Torrente
2021-10-26 11:34 ` [PATCH v2 6/8] drm: vkms: Refactor the plane composer to accept new formats Igor Torrente
2021-11-09 11:40 ` Pekka Paalanen
2021-11-10 16:56 ` Igor Torrente
2021-11-11 9:33 ` Pekka Paalanen
2021-11-11 14:07 ` Igor Torrente
2021-11-11 14:37 ` Pekka Paalanen
2021-11-12 12:50 ` Igor Torrente
2021-10-26 11:34 ` [PATCH v2 7/8] drm: vkms: Exposes ARGB_1616161616 and adds XRGB_16161616 formats Igor Torrente
2021-10-26 11:34 ` [PATCH v2 8/8] drm: vkms: Add support the RGB565 format Igor Torrente
2021-10-26 11:34 ` [PATCH v2 8/8] drm: vkms: Add support to " Igor Torrente
2021-11-09 9:32 ` [PATCH v2 0/8] Add new formats support to vkms Pekka Paalanen
2021-11-10 17:32 ` Igor Torrente
2021-11-11 8:32 ` Pekka Paalanen [this message]
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=20211111103216.23149c57@eldfell \
--to=ppaalanen@gmail.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=hamohammed.sa@gmail.com \
--cc=igormtorrente@gmail.com \
--cc=leandro.ribeiro@collabora.com \
--cc=melissa.srw@gmail.com \
--cc=rodrigosiqueiramelo@gmail.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.