<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi Thomas,<br>
<br>
<div class="moz-cite-prefix">On 9/4/2019 4:43 PM, Thomas Zimmermann
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:33d3ce15-6221-bd96-3f26-b710e4da6b1a@suse.de">
<pre class="moz-quote-pre" wrap="">Hi
Am 04.09.19 um 10:35 schrieb Feng Tang:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Hi Daniel,
On Wed, Sep 04, 2019 at 10:11:11AM +0200, Daniel Vetter wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On Wed, Sep 4, 2019 at 8:53 AM Thomas Zimmermann <a class="moz-txt-link-rfc2396E" href="mailto:tzimmermann@suse.de"><tzimmermann@suse.de></a> wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
Hi
Am 04.09.19 um 08:27 schrieb Feng Tang:
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">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.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
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?
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
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.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
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.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
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?
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
<a class="moz-txt-link-freetext" href="https://unix.stackexchange.com/questions/3759/how-to-stop-cursor-from-blinking">https://unix.stackexchange.com/questions/3759/how-to-stop-cursor-from-blinking</a>
Bunch of tricks, but tbh I haven't tested them.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
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.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
There are several ways of disabling the cursor. On my test system, I entered
tput civis
before the test and got better performance. Did you try this as well?</pre>
</blockquote>
<br>
There's no obvious change on our system.<br>
<br>
Best Regards,<br>
Rong Chen<br>
<br>
<blockquote type="cite"
cite="mid:33d3ce15-6221-bd96-3f26-b710e4da6b1a@suse.de">
<pre class="moz-quote-pre" wrap="">
Best regards
Thomas
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
Thanks,
Feng
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
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
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
Best regards
Thomas
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
Thanks,
Feng
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
Best regards
Thomas
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">_______________________________________________
dri-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/dri-devel">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a>
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
--
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
<a class="moz-txt-link-abbreviated" href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/dri-devel">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a>
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - <a class="moz-txt-link-freetext" href="http://blog.ffwll.ch">http://blog.ffwll.ch</a>
</pre>
</blockquote>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
LKP mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LKP@lists.01.org">LKP@lists.01.org</a>
<a class="moz-txt-link-freetext" href="https://lists.01.org/mailman/listinfo/lkp">https://lists.01.org/mailman/listinfo/lkp</a>
</pre>
</blockquote>
<br>
</body>
</html>