Hi, using rxvt 2.7.10 (from debian sid) has some issue with nouveau : - opening a new terminal, - filling it with data (dmesg for example), - and then scrolling with the mouse is : - slow (we can see a latency) - Xorg eat 100% of cpu There no such problem with nvidia blob (and nv driver IRRC). Oprofile give me : 62336 51.8948 libpixman-1.so.0.16.4 22927 19.0867 libfb.so 16548 13.7762 no-vmlinux 6297 5.2423 Xorg unfortunately I don't have debug symbol. May be it is related to https://bugzilla.redhat.com/show_bug.cgi?id=538467 ?
(In reply to comment #0) > Hi, > > using rxvt 2.7.10 (from debian sid) has some issue with nouveau : > - opening a new terminal, > - filling it with data (dmesg for example), > - and then scrolling with the mouse is : > - slow (we can see a latency) > - Xorg eat 100% of cpu > > There no such problem with nvidia blob (and nv driver IRRC). > > > Oprofile give me : > > 62336 51.8948 libpixman-1.so.0.16.4 > 22927 19.0867 libfb.so > 16548 13.7762 no-vmlinux > 6297 5.2423 Xorg > > unfortunately I don't have debug symbol. > > > May be it is related to https://bugzilla.redhat.com/show_bug.cgi?id=538467 ? > Could you provide some Xorg/kernel logs? (works for me on nv28).
Created attachment 32615 [details] kernel log Note that : - nouveaufb from vesafb doesn't work - I use a 2.6.31-1-686 kernel with out-of-tree build - I don't got interrupt while in X (I may have some at startup)
Created attachment 32616 [details] x log
I did some benchmark with x11perf (without kms) between nvidia driver and nouveau, and I got [1]. Some rendering is faster (aa, rgb), but other is really slow. In scrolling test, lot's of cpu is used by kernel. [1] 1: nvidia-perf2 2: nouveau-perf2 1 2 Operation -------- ----------------- ----------------- 12800000.0 817000.0 ( 0.064) Char in 80-char line (6x13) 12500000.0 810000.0 ( 0.065) Char in 70-char line (8x13) 9780000.0 678000.0 ( 0.069) Char in 60-char line (9x15) 6730000.0 238000.0 ( 0.035) Char16 in 40-char line (k14) 3270000.0 107000.0 ( 0.033) Char16 in 23-char line (k24) 8300000.0 964000.0 ( 0.12) Char in 80-char line (TR 10) 4420000.0 320000.0 ( 0.072) Char in 30-char line (TR 24) 5800000.0 772000.0 ( 0.13) Char in 20/40/20 line (6x13, TR 10) 2370000.0 135000.0 ( 0.057) Char16 in 7/14/7 line (k14, k24) 12500000.0 350000.0 ( 0.028) Char in 80-char image line (6x13) 11700000.0 293000.0 ( 0.025) Char in 70-char image line (8x13) 9540000.0 232000.0 ( 0.024) Char in 60-char image line (9x15) 5750000.0 120000.0 ( 0.021) Char16 in 40-char image line (k14) 2350000.0 46800.0 ( 0.020) Char16 in 23-char image line (k24) 8010000.0 422000.0 ( 0.053) Char in 80-char image line (TR 10) 2920000.0 100000.0 ( 0.034) Char in 30-char image line (TR 24) 44800.0 572000.0 ( 12.77) Char in 80-char aa line (Charter 10) 12300.0 233000.0 ( 18.94) Char in 30-char aa line (Charter 24) 43300.0 571000.0 ( 13.19) Char in 80-char aa line (Courier 12) 2890000.0 588000.0 ( 0.20) Char in 80-char a line (Charter 10) 1990000.0 377000.0 ( 0.19) Char in 30-char a line (Charter 24) 2930000.0 581000.0 ( 0.20) Char in 80-char a line (Courier 12) 44700.0 574000.0 ( 12.84) Char in 80-char rgb line (Charter 10) 12300.0 233000.0 ( 18.94) Char in 30-char rgb line (Charter 24) 43400.0 572000.0 ( 13.18) Char in 80-char rgb line (Courier 12) 25800.0 58300.0 ( 2.26) Char in 80-char aa core line (Charter 10) 4220.0 10700.0 ( 2.54) Char in 30-char aa core line (Charter 24) 19700.0 45800.0 ( 2.32) Char in 80-char aa core line (Courier 12) 588000.0 315000.0 ( 0.54) Char in 80-char a core line (Charter 10) 205000.0 115000.0 ( 0.56) Char in 30-char a core line (Charter 24) 574000.0 314000.0 ( 0.55) Char in 80-char a core line (Courier 12) 25900.0 59200.0 ( 2.29) Char in 80-char rgb core line (Charter 10) 4220.0 10700.0 ( 2.54) Char in 30-char rgb core line (Charter 24) 19700.0 46400.0 ( 2.36) Char in 80-char rgb core line (Courier 12) 483000.0 187000.0 ( 0.39) Scroll 10x10 pixels 69600.0 58800.0 ( 0.84) Scroll 100x100 pixels 2790.0 2980.0 ( 1.07) Scroll 500x500 pixels
(In reply to comment #2) > Created an attachment (id=32615) [details] > kernel log > > Note that : > - nouveaufb from vesafb doesn't work > - I use a 2.6.31-1-686 kernel with out-of-tree build nouveaufb binds into fb1 instead of fb0, so the hand-over is not working. I guess you have too old kernel to have the vesafb hand-over fixes. It was vesafb, that needed fixing. Also, no need to test the non-KMS mode anymore. The only way is KMS now. Furthermore, you seem to have proprietary remnants in the system: (II) Loading /usr/lib/xorg/modules/extensions/libglx.so (II) Module glx: vendor="NVIDIA Corporation" ... (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found) I wonder if that triggers noaccel mode... maybe not.
just in case I will redo test, with a new version and with the correct libglx
Created attachment 32663 [details] x log same issue with last version in kms mode What result do you get with x11perf ?
$x11perfcomp -r nvidia-perf2 nouveau-perf2-kms 1: nvidia-perf2 2: nouveau-perf2-kms 1 2 Operation -------- ----------------- ----------------- 12800000.0 816000.0 ( 0.064) Char in 80-char line (6x13) 12500000.0 809000.0 ( 0.065) Char in 70-char line (8x13) 9780000.0 677000.0 ( 0.069) Char in 60-char line (9x15) 6730000.0 238000.0 ( 0.035) Char16 in 40-char line (k14) 3270000.0 107000.0 ( 0.033) Char16 in 23-char line (k24) 8300000.0 964000.0 ( 0.12) Char in 80-char line (TR 10) 4420000.0 322000.0 ( 0.073) Char in 30-char line (TR 24) 5800000.0 782000.0 ( 0.13) Char in 20/40/20 line (6x13, TR 10) 2370000.0 136000.0 ( 0.057) Char16 in 7/14/7 line (k14, k24) 12500000.0 349000.0 ( 0.028) Char in 80-char image line (6x13) 11700000.0 292000.0 ( 0.025) Char in 70-char image line (8x13) 9540000.0 231000.0 ( 0.024) Char in 60-char image line (9x15) 5750000.0 120000.0 ( 0.021) Char16 in 40-char image line (k14) 2350000.0 46700.0 ( 0.020) Char16 in 23-char image line (k24) 8010000.0 421000.0 ( 0.053) Char in 80-char image line (TR 10) 2920000.0 100000.0 ( 0.034) Char in 30-char image line (TR 24) 44800.0 504000.0 ( 11.25) Char in 80-char aa line (Charter 10) 12300.0 233000.0 ( 18.94) Char in 30-char aa line (Charter 24) 43300.0 503000.0 ( 11.62) Char in 80-char aa line (Courier 12) 2890000.0 498000.0 ( 0.17) Char in 80-char a line (Charter 10) 1990000.0 301000.0 ( 0.15) Char in 30-char a line (Charter 24) 2930000.0 498000.0 ( 0.17) Char in 80-char a line (Courier 12) 44700.0 502000.0 ( 11.23) Char in 80-char rgb line (Charter 10) 12300.0 233000.0 ( 18.94) Char in 30-char rgb line (Charter 24) 43400.0 505000.0 ( 11.64) Char in 80-char rgb line (Courier 12) 25800.0 59700.0 ( 2.31) Char in 80-char aa core line (Charter 10) 4220.0 10800.0 ( 2.56) Char in 30-char aa core line (Charter 24) 19700.0 47100.0 ( 2.39) Char in 80-char aa core line (Courier 12) 588000.0 314000.0 ( 0.53) Char in 80-char a core line (Charter 10) 205000.0 114000.0 ( 0.56) Char in 30-char a core line (Charter 24) 574000.0 312000.0 ( 0.54) Char in 80-char a core line (Courier 12) 25900.0 59900.0 ( 2.31) Char in 80-char rgb core line (Charter 10) 4220.0 10800.0 ( 2.56) Char in 30-char rgb core line (Charter 24) 19700.0 47000.0 ( 2.39) Char in 80-char rgb core line (Courier 12) 483000.0 222000.0 ( 0.46) Scroll 10x10 pixels 69600.0 59100.0 ( 0.85) Scroll 100x100 pixels 2790.0 2980.0 ( 1.07) Scroll 500x500 pixels
(In reply to comment #7) > What result do you get with x11perf ? What tests would you like? Or all? I could provide an x11perf log with nv28.
x11perf -range ftext,scroll500 would be nice
Created attachment 32782 [details] nv28 x11perf results Here are my results on nv28, Nouveau drm, libdrm and ddx from git just now.
Thanks, here is the diff. There are not many difference. You are only faster for (aa, rgb) core line. My cpu is a athlon XP1800+. What is your cpu ? I will install some debugging symbol to get a better profilling info. 1: nouveau-perf2-kms 2: /tmp/x11perf.txt 1 2 Operation -------- ----------------- ----------------- 816000.0 759000.0 ( 0.93) Char in 80-char line (6x13) 809000.0 678000.0 ( 0.84) Char in 70-char line (8x13) 677000.0 593000.0 ( 0.88) Char in 60-char line (9x15) 238000.0 167000.0 ( 0.70) Char16 in 40-char line (k14) 107000.0 64600.0 ( 0.60) Char16 in 23-char line (k24) 964000.0 890000.0 ( 0.92) Char in 80-char line (TR 10) 322000.0 246000.0 ( 0.76) Char in 30-char line (TR 24) 782000.0 771000.0 ( 0.99) Char in 20/40/20 line (6x13, TR 10) 136000.0 89600.0 ( 0.66) Char16 in 7/14/7 line (k14, k24) 349000.0 183000.0 ( 0.52) Char in 80-char image line (6x13) 292000.0 143000.0 ( 0.49) Char in 70-char image line (8x13) 231000.0 113000.0 ( 0.49) Char in 60-char image line (9x15) 120000.0 60900.0 ( 0.51) Char16 in 40-char image line (k14) 46700.0 21800.0 ( 0.47) Char16 in 23-char image line (k24) 421000.0 223000.0 ( 0.53) Char in 80-char image line (TR 10) 100000.0 47100.0 ( 0.47) Char in 30-char image line (TR 24) 504000.0 780000.0 ( 1.55) Char in 80-char aa line (Charter 10) 233000.0 448000.0 ( 1.92) Char in 30-char aa line (Charter 24) 503000.0 781000.0 ( 1.55) Char in 80-char aa line (Courier 12) 498000.0 785000.0 ( 1.58) Char in 80-char a line (Charter 10) 301000.0 449000.0 ( 1.49) Char in 30-char a line (Charter 24) 498000.0 786000.0 ( 1.58) Char in 80-char a line (Courier 12) 502000.0 786000.0 ( 1.57) Char in 80-char rgb line (Charter 10) 233000.0 448000.0 ( 1.92) Char in 30-char rgb line (Charter 24) 505000.0 780000.0 ( 1.54) Char in 80-char rgb line (Courier 12) 59700.0 452000.0 ( 7.57) Char in 80-char aa core line (Charter 10) 10800.0 165000.0 ( 15.28) Char in 30-char aa core line (Charter 24) 47100.0 381000.0 ( 8.09) Char in 80-char aa core line (Courier 12) 314000.0 450000.0 ( 1.43) Char in 80-char a core line (Charter 10) 114000.0 165000.0 ( 1.45) Char in 30-char a core line (Charter 24) 312000.0 381000.0 ( 1.22) Char in 80-char a core line (Courier 12) 59900.0 450000.0 ( 7.51) Char in 80-char rgb core line (Charter 10) 10800.0 165000.0 ( 15.28) Char in 30-char rgb core line (Charter 24) 47000.0 382000.0 ( 8.13) Char in 80-char rgb core line (Courier 12) 222000.0 427000.0 ( 1.92) Scroll 10x10 pixels 59100.0 63600.0 ( 1.08) Scroll 100x100 pixels 2980.0 3060.0 ( 1.03) Scroll 500x500 pixels
(In reply to comment #12) > Thanks, here is the diff. There are not many difference. You are only faster > for (aa, rgb) core line. > My cpu is a athlon XP1800+. What is your cpu ? AMD Athlon64 3000+ (1.8 GHz). Btw. comparisons to the proprietary driver can be inaccurate, since Nouveau does not adjust clocks, so if there is overall slowness, that might be explained.
Created attachment 32833 [details] oprofile with debug symbol So your cpu got sse2 ? libpixman spend lot's of time in pixman_fill_mmx. I wonder why...
you seem to to have some bogus options in xorg.conf please retest with minimal config: Section "Device" Identifier "n" Driver "nouveau" EndSection
(In reply to comment #14) > Created an attachment (id=32833) [details] > oprofile with debug symbol > > So your cpu got sse2 ? It does. I installed rxvt 2.7.10, but there is no rxvt-xpm that appears in your profile, and scrolling it furiously while full of text still leaves me with at least 70% of CPU idle. What else should we try to reproduce this? Is it an rxvt-clone of some sort, or some extra features enabled? Perhaps you have a different font configuration? Did you search the bugzilla? I recall this is not the first report of rxvt slowness, but I cannot remember where I read about it, nor what was the resolution, if any.
Rxvt draws itself with bitmap fonts which are never accelerated by EXA, so this is more of an EXA limitation (in a sense it's a deliberate feature).
ok, that make sense. But I saw that other stuff is slow. For example tabs switch in firefox is more slower. Doing a profiling show that nouveau_exa_download_from_screen take lot's of cpu (more than 25%), but I believe this is for another bug report ?
And for the record in nouveau_exa_download_from_screen, that memcpy [1] (line 140) that take 90% of time. [1] 45dd: f3 a5 rep movsl %ds:(%esi),%es:(%edi)
(In reply to comment #19) > And for the record in nouveau_exa_download_from_screen, that memcpy [1] (line > 140) that take 90% of time. > DFS is most likely being triggered by X11 GetImage requests. A comparison of "x11perf -getimage500" results would be interesting. > [1] > 45dd: f3 a5 rep movsl %ds:(%esi),%es:(%edi) >
It appears that this bug report has laid dormant for quite a while. Sorry we haven't gotten to it. Since we fix bugs all the time, chances are pretty good that your issue has been fixed with the latest software. Please give it a shot. (Linux kernel 3.10.7, xf86-video-nouveau 1.0.9, mesa 9.1.6, or their git versions.) If upgrading to the latest isn't an option for you, your distro's bugzilla is probably the right destination for your bug report. In an effort to clean up our bug list, we're pre-emptively closing all bugs that haven't seen updates since 2011. If the original issue remains, please make sure to provide fresh info, see http://nouveau.freedesktop.org/wiki/Bugs/ for what we need to see, and re-open this one. Thanks, The Nouveau Team
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.