On 2022-11-08 09:01, Zhu, Jiadong wrote:> From: Michel Dänzer <[email protected]> > >>>> The bad news is that this series still makes some things very slow. The >>>> most extreme examples so far are glxgears (runs at ~400 fps now, ~7000 fps >>>> before, i.e. almost 20x slowdown) and hexchat (scrolling one page now >>>> takes ~1 second, I can see it drawing line by line; before it was almost >>>> instantaneous). I suspect this series makes the overhead of running a >>>> single GPU job much bigger. On the bright side, I'm not noticing any >>>> significant intermittent freezes anymore. >>> >>> Hi Michel, >>> >>> Thanks for the trying. >>> Is there high priority jobs running while executing glxgears? >> >> Yes, mutter is submitting high priority jobs. However, I don't think that >> can explain the problem by itself: >> >> mutter only draws once per display refresh cycle. Let's assume mutter's GPU >> work takes ~6-7ms (conservative example, should be less than that usually). >> That leaves ~10ms per display refresh cycle (at 60 Hz refresh rate) where >> GPU work from glxgears & Xwayland can run without getting preempted. Since >> glxgears runs at ~7000 fps without this series, it should be able to draw at >> least ~70 frames in 10ms[0], which corresponds to over 4000 fps. Yet it >> manages only 1/10 of that. >> >> [0] Worst case consideration, ignoring the fact that without this series, >> glxgears runs at ~7000 fps while mutter sustains 60 fps. > > I reproduced the glxgears 400fps scenario locally. The issue is caused by the > patch5 "drm/amdgpu: Improve the software rings priority scheduler" which > slows down the low priority scheduler thread if high priority ib is under > executing. I'll drop this patch as we cannot identify gpu bound according to > the unsignaled fence, etc.
Okay, I'm testing with patches 1-4 only now. So far I haven't noticed any negative effects, no slowdowns or intermittent freezes. The only issue is that there's hardly any positive effect either. While constantly moving the window of a GPU-limited GpuTest benchmark in circles, most of the time it looks exactly the same as without these patches. Only occasionally, at most every few seconds, I notice that the window movement becomes smoother for an instant. -- Earthling Michel Dänzer | https://redhat.com Libre software enthusiast | Mesa and Xwayland developer
