From: Feng Tang <feng.tang@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: "Thomas Zimmermann" <tzimmermann@suse.de>,
"Stephen Rothwell" <sfr@canb.auug.org.au>,
"Rong Chen" <rong.a.chen@intel.com>,
"Michel Dänzer" <michel@daenzer.net>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
dri-devel <dri-devel@lists.freedesktop.org>, LKP <lkp@01.org>
Subject: Re: [LKP] [drm/mgag200] 90f479ae51: vm-scalability.median -18.8% regression
Date: Wed, 4 Sep 2019 16:35:58 +0800 [thread overview]
Message-ID: <20190904083558.GD5541@shbuild999.sh.intel.com> (raw)
In-Reply-To: <CAKMK7uGdOtyDHZMSzY8J45bX57EFKo=DWNUi+WL+GVOzoBpUhw@mail.gmail.com>
Hi Daniel,
On Wed, Sep 04, 2019 at 10:11:11AM +0200, Daniel Vetter wrote:
> On Wed, Sep 4, 2019 at 8:53 AM Thomas Zimmermann <tzimmermann@suse.de> wrote:
> >
> > Hi
> >
> > Am 04.09.19 um 08:27 schrieb Feng Tang:
> > >> Thank you for testing. But don't get too excited, because the patch
> > >> simulates a bug that was present in the original mgag200 code. A
> > >> significant number of frames are simply skipped. That is apparently the
> > >> reason why it's faster.
> > >
> > > Thanks for the detailed info, so the original code skips time-consuming
> > > work inside atomic context on purpose. Is there any space to optmise it?
> > > If 2 scheduled update worker are handled at almost same time, can one be
> > > skipped?
> >
> > To my knowledge, there's only one instance of the worker. Re-scheduling
> > the worker before a previous instance started, will not create a second
> > instance. The worker's instance will complete all pending updates. So in
> > some way, skipping workers already happens.
>
> So I think that the most often fbcon update from atomic context is the
> blinking cursor. If you disable that one you should be back to the old
> performance level I think, since just writing to dmesg is from process
> context, so shouldn't change.
Hmm, then for the old driver, it should also do the most update in
non-atomic context?
One other thing is, I profiled that updating a 3MB shadow buffer needs
20 ms, which transfer to 150 MB/s bandwidth. Could it be related with
the cache setting of DRM shadow buffer? say the orginal code use a
cachable buffer?
>
> https://unix.stackexchange.com/questions/3759/how-to-stop-cursor-from-blinking
>
> Bunch of tricks, but tbh I haven't tested them.
Thomas has suggested to disable curson by
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
We tried that way, and no change for the performance data.
Thanks,
Feng
>
> In any case, I still strongly advice you don't print anything to dmesg
> or fbcon while benchmarking, because dmesg/printf are anything but
> fast, especially if a gpu driver is involved. There's some efforts to
> make the dmesg/printk side less painful (untangling the console_lock
> from printk), but fundamentally printing to the gpu from the kernel
> through dmesg/fbcon won't be cheap. It's just not something we
> optimize beyond "make sure it works for emergencies".
> -Daniel
>
> >
> > Best regards
> > Thomas
> >
> > >
> > > Thanks,
> > > Feng
> > >
> > >>
> > >> Best regards
> > >> Thomas
> > > _______________________________________________
> > > dri-devel mailing list
> > > dri-devel@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > >
> >
> > --
> > Thomas Zimmermann
> > Graphics Driver Developer
> > SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
> > GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
> > HRB 21284 (AG Nürnberg)
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
next prev parent reply other threads:[~2019-09-04 8:35 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20190729095155.GP22106@shao2-debian>
2019-07-30 17:50 ` [drm/mgag200] 90f479ae51: vm-scalability.median -18.8% regression Thomas Zimmermann
2019-07-30 18:12 ` Daniel Vetter
2019-07-30 18:50 ` Thomas Zimmermann
2019-07-30 18:59 ` Daniel Vetter
2019-07-30 20:26 ` Dave Airlie
2019-07-31 8:13 ` Daniel Vetter
2019-07-31 9:25 ` [LKP] " Huang, Ying
2019-07-31 10:12 ` Thomas Zimmermann
2019-07-31 10:21 ` Michel Dänzer
2019-08-01 6:19 ` Rong Chen
2019-08-01 8:37 ` Feng Tang
2019-08-01 9:59 ` Thomas Zimmermann
2019-08-01 11:25 ` Feng Tang
2019-08-01 11:58 ` Thomas Zimmermann
2019-08-02 7:11 ` Rong Chen
2019-08-02 8:23 ` Thomas Zimmermann
2019-08-02 9:20 ` Thomas Zimmermann
2019-08-01 9:57 ` Thomas Zimmermann
2019-08-01 13:30 ` Michel Dänzer
2019-08-02 8:17 ` Thomas Zimmermann
2019-07-31 10:10 ` Thomas Zimmermann
2019-08-02 9:11 ` Daniel Vetter
2019-08-02 9:26 ` Thomas Zimmermann
2019-08-04 18:39 ` Thomas Zimmermann
2019-08-05 7:02 ` Feng Tang
2019-08-05 10:22 ` Thomas Zimmermann
2019-08-05 12:52 ` Feng Tang
2020-01-06 13:19 ` Thomas Zimmermann
2020-01-08 2:25 ` Rong Chen
2020-01-08 5:20 ` Thomas Zimmermann
[not found] ` <c0c3f387-dc93-3146-788c-23258b28a015@intel.com>
2019-08-05 10:25 ` Thomas Zimmermann
2019-08-06 12:59 ` [LKP] " Chen, Rong A
2019-08-07 10:42 ` Thomas Zimmermann
2019-08-09 8:12 ` Rong Chen
2019-08-12 7:25 ` Feng Tang
2019-08-13 9:36 ` Feng Tang
2019-08-16 6:55 ` Feng Tang
2019-08-22 17:25 ` Thomas Zimmermann
2019-08-22 20:02 ` Dave Airlie
2019-08-23 9:54 ` Thomas Zimmermann
2019-08-24 5:16 ` Feng Tang
2019-08-26 10:50 ` Thomas Zimmermann
2019-08-27 12:33 ` Chen, Rong A
2019-08-27 17:16 ` Thomas Zimmermann
2019-08-28 9:37 ` Rong Chen
2019-08-28 10:51 ` Thomas Zimmermann
2019-09-04 6:27 ` Feng Tang
2019-09-04 6:53 ` Thomas Zimmermann
2019-09-04 8:11 ` Daniel Vetter
2019-09-04 8:35 ` Feng Tang [this message]
2019-09-04 8:43 ` Thomas Zimmermann
2019-09-04 14:30 ` Chen, Rong A
2019-09-04 9:17 ` Daniel Vetter
2019-09-04 11:15 ` Dave Airlie
2019-09-04 11:20 ` Daniel Vetter
2019-09-05 6:59 ` Feng Tang
2019-09-05 10:37 ` Daniel Vetter
2019-09-05 10:48 ` Feng Tang
2019-09-09 14:12 ` Thomas Zimmermann
2019-09-16 9:06 ` Feng Tang
2019-09-17 8:48 ` Thomas Zimmermann
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=20190904083558.GD5541@shbuild999.sh.intel.com \
--to=feng.tang@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@01.org \
--cc=michel@daenzer.net \
--cc=rong.a.chen@intel.com \
--cc=sfr@canb.auug.org.au \
--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;
as well as URLs for NNTP newsgroup(s).