https://bugs.kde.org/show_bug.cgi?id=499612

--- Comment #2 from Jakob Petsovits <jpe...@petsovits.com> ---
Created attachment 178673
  --> https://bugs.kde.org/attachment.cgi?id=178673&action=edit
Stuttering kwin_wayland trace 1 (default sample rate, no initial screen
activity)

So I haven't set up my sshd yet and wasn't confident that I'd hit the enter key
at the right time for the right breakpoint.

I decided to learn about perf instead. Here are a few  for the kwin_wayland
process, captured with perf record and converted to Firefox Profiler format
with:

> element-desktop &
> sudo perf record -g -p <pid of kwin_wayland>
> # click on Konsole window to refocus it, then Ctrl+C to stop recording
> sudo chown kpetso:kpetso perf.data
> perf script report gecko
> # open https://profiler.firefox.com/ to load gecko_profile.json

This first profile was fairly well timed, the stutter occurring shortly after
the perf invocation. I didn't move the mouse or have animations on at first, so
there's no activity on the kwin_wayland thread before the block.

Once I figured out how to get a good view into the profile (i.e. with Firefox),
it's pretty obvious what's going on. My other profiles also confirm this.

Through some timer signal/slot, the main thread calls
GlobalShortcutsRegistry::refreshServices(), which in turn asks for a
KService::serviceByStorageId(), which calls KSycoca::ensureCacheValid() and for
some reason the cache has to be recreated. Being KSycoca, that takes a little
while and until it's done, it blocks on a lockfile. This blocking is my
stutter.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to