Open Bug 1714375 Opened 3 years ago Updated 22 days ago

After upgrade 88 to 89 in Ubuntu all tabs and every action extremely slow on nouveau kepler

Categories

(Core :: Graphics: WebRender, defect)

Firefox 89
x86_64
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: alrond, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files, 2 obsolete files)

User Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0

Steps to reproduce:

Ubuntu 20.04.02
Upgrade firefox from 88 to 89
Used NOUVEAU driver

Actual results:

All tabs and every action extremely slow. Switch, clicks, after every action hangs for some seconds. Downgrade to 88 helps, works normally with 39 windows and a lot of tabs.

STRACE on current process shows slow reaction during executing of "DRM_IOCTL_NOUVEAU_GEM_PUSHBUF"

getpid() = 9
getpid() = 9
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
getpid() = 9
getpid() = 9
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
ioctl(71, DRM_IOCTL_NOUVEAU_GEM_PUSHBUF, 0x7f2b4e5f8540) = 0
ioctl(71, DRM_IOCTL_NOUVEAU_GEM_PUSHBUF, 0x7f2b4e5f8a50) = 0
getpid() = 9
getpid() = 9
ioctl(71, DRM_IOCTL_NOUVEAU_GEM_PUSHBUF, 0x7f2b4e5f9350) = 0

OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Version: Firefox 87 → Firefox 89

The Bugbug bot thinks this bug should belong to the 'Firefox::Tabbed Browser' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Tabbed Browser
Component: Tabbed Browser → Performance
Product: Firefox → Core

Hi alrond,

Would you be willing to reproduce this performance issue while gathering a performance profile? See https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Reporting_a_Performance_Problem

Flags: needinfo?(alrond)

about:support might also be useful, particularly if you have a way to get the output from Firefox 88 so we can compare.

The new UI is CPU heavy. On my laptop (Debian 10, C2D + Intel graphics), just displaying the default HTTP password prompt takes 8-10% CPU. Same on another laptop with nVidia GPU.

screenshot

I gathered a profile, however I can't see the “Share“ button the documentation suggests...

The new UI is CPU heavy. On my laptop (Debian 10, C2D + Intel graphics)

It would be interesting to see about:support. It's quite possible you ended up on Software WebRender, and it looks CPU heavy because...your CPU is actually doing the rendering.

Laptop1 does indeed say “WebRender (Software)”. Laptop2 does not and it still uses 4-5% just on displaying the same password prompt (lower percentage might be due to slightly faster CPU).

However I've just unpacked and launched 88 on laptop1, and the password box consumes 5%, which is slightly less than 89.

Triage: I think we'll need a profile to debug this one. Perhaps someone else with the same OS/driver configuration can reproduce if the OP is unavailable?

The new UI is CPU heavy. On my laptop (Debian 10, C2D + Intel graphics), just displaying the default HTTP password prompt takes 8-10% CPU. Same on another laptop with nVidia GPU.

Thanks for sharing. The original poster's issue seems like it might be related to graphics drivers issues so high CPU usage seems unrelated to this problem. If you think the high CPU usage usage is a problem, please file a new issue – thanks!

FF88 works fine with 39 windows and thousands of tabs. FF89 hangs often for 5-10 seconds. Even if I just click on profiler button.
I uploaded one profiler snapshot. https://share.firefox.dev/3ga5dDS hope this can help

Flags: needinfo?(alrond)

Here is another example, I opened a new tab and yahoo finance. After showing the top of the page with some texts, it took about 40 seconds before I could scroll the page. https://share.firefox.dev/3gmqOYn
No one button or menu responded at that time.

To compare with FF88 (started with --allow-downgrade), the same browser profile with 39 windows, new tab with yahoo finance was available after 1-2 seconds https://share.firefox.dev/357s2l6

I think the primary difference here might be that WebRender is enabled in the profile in comment 9. Looks like layers are being used in comment 10.

So I'm tentatively going to move this over to Graphics :: WebRender.

Component: Performance → Graphics: WebRender

alrond, it seems like there might be something wrong with your nouveau driver. Can you try gfx.webrender.software=true in 89 and see if that helps?

Flags: needinfo?(alrond)

webrender.software fixed this issue

Flags: needinfo?(alrond)

alrond, can you post your about:support?

Flags: needinfo?(alrond)
Summary: After upgrade 88 to 89 in Ubuntu all tabs and every action extremely slow → After upgrade 88 to 89 in Ubuntu all tabs and every action extremely slow on nouveau
Attached file about_config.txt
Flags: needinfo?(alrond)

Matt, your issue seems like a different one, can you file a separate bug?

Flags: needinfo?(matlib)

Alrond, can you try installing glmark2 and reporting the results here. Also, can you post the details of Chromium's chrome://gpu?

Flags: needinfo?(alrond)
Attached file chrome_gpu.txt
Flags: needinfo?(alrond)
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     nouveau
    GL_RENDERER:   NV106
    GL_VERSION:    4.3 (Compatibility Profile) Mesa 20.2.6
=======================================================
[build] use-vbo=false: FPS: 338 FrameTime: 2.959 ms
[build] use-vbo=true: FPS: 648 FrameTime: 1.543 ms
[texture] texture-filter=nearest: FPS: 541 FrameTime: 1.848 ms
[texture] texture-filter=linear: FPS: 538 FrameTime: 1.859 ms
[texture] texture-filter=mipmap: FPS: 570 FrameTime: 1.754 ms
[shading] shading=gouraud: FPS: 535 FrameTime: 1.869 ms
[shading] shading=blinn-phong-inf: FPS: 535 FrameTime: 1.869 ms
[shading] shading=phong: FPS: 533 FrameTime: 1.876 ms
[shading] shading=cel: FPS: 535 FrameTime: 1.869 ms
[bump] bump-render=high-poly: FPS: 427 FrameTime: 2.342 ms
[bump] bump-render=normals: FPS: 634 FrameTime: 1.577 ms
[bump] bump-render=height: FPS: 590 FrameTime: 1.695 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 368 FrameTime: 2.717 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 227 FrameTime: 4.405 ms
[pulsar] light=false:quads=5:texture=false: FPS: 495 FrameTime: 2.020 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 186 FrameTime: 5.376 ms
[desktop] effect=shadow:windows=4: FPS: 256 FrameTime: 3.906 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 208 FrameTime: 4.808 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 283 FrameTime: 3.534 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 205 FrameTime: 4.878 ms
[ideas] speed=duration: FPS: 552 FrameTime: 1.812 ms
[jellyfish] <default>: FPS: 356 FrameTime: 2.809 ms
[terrain] <default>: FPS: 47 FrameTime: 21.277 ms
[shadow] <default>: FPS: 490 FrameTime: 2.041 ms
[refract] <default>: FPS: 98 FrameTime: 10.204 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 563 FrameTime: 1.776 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 562 FrameTime: 1.779 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 563 FrameTime: 1.776 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 559 FrameTime: 1.789 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 562 FrameTime: 1.779 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 562 FrameTime: 1.779 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 562 FrameTime: 1.779 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 562 FrameTime: 1.779 ms
=======================================================
                                  glmark2 Score: 445 
=======================================================

Ok, those numbers seems reasonable and don't show anything like the really bad times we're seeing.

I filed an upstream mesa issue here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/4912

Hopefully they can help us understand what might be going on.

Alrond, there are some suggestions in the Mesa issue. Can you try them out and either post here or directly on the Mesa issue?

Flags: needinfo?(alrond)
Blocks: wr-linux
Severity: -- → S3

cat /sys/kernel/debug/dri/0/pstate

07: core 405 MHz memory 810 MHz
0f: core 653-954 MHz memory 1600 MHz
AC: core 405 MHz memory 810 MHz

Flags: needinfo?(alrond)

~# echo 0f > /sys/kernel/debug/dri/0/pstate
~# cat /sys/kernel/debug/dri/0/pstate
07: core 405 MHz memory 810 MHz
0f: core 653-954 MHz memory 1600 MHz AC DC *
DC: core 953 MHz memory 1600 MHz

It didn't help, switch from software rendering leads to freezes

Summary: After upgrade 88 to 89 in Ubuntu all tabs and every action extremely slow on nouveau → After upgrade 88 to 89 in Ubuntu all tabs and every action extremely slow on nouveau kepler
Attached file syslog (obsolete) —
I can confirm this bug as described by alrond.
Many other users seem to be affected:
https://www.reddit.com/r/firefox/comments/nqwjcg/version_89_is_slow_and_buggy/

Ubuntu 20.04 syslog shows this when lagging happens:

(In reply to reisig from comment #25)

Ubuntu 20.04 syslog shows this when lagging happens:

You seem to have dropped this part of your comment.

Flags: needinfo?(7j8zin6dr)

(the link was put at the top, i cannot edit post)

Flags: needinfo?(7j8zin6dr)

I see it thanks. Resig, can you also post the graphics section of about:support?

Flags: needinfo?(7j8zin6dr)
Attached file about:support.txt (obsolete) —

It's a very old Nvidia card, but was working well prior to v89 or with webrender.software=true.

Flags: needinfo?(7j8zin6dr)

reisig, based on https://gitlab.freedesktop.org/mesa/mesa/-/issues/4912#note_966469 it seems like you're problem is different. I've filed bug 1717484 to track it.

Attachment #9228139 - Attachment is obsolete: true
Attachment #9228179 - Attachment is obsolete: true

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit BugBot documentation.

Flags: needinfo?(matlib)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: