On Fri, Nov 30, 2018 at 1:06 PM Olivier Fourdan <ofour...@redhat.com> wrote: > > On Fri, Nov 30, 2018 at 12:27 PM Alan Hourihane <al...@fairlite.co.uk> wrote: > > Running perf top while it's happening shows this.... > > > > 26.77% Xorg [.] ResourceClientBits > > 15.09% Xorg [.] GrabMatchesSecond > > 12.62% Xorg [.] DetailSupersedesSecond.isra.1 > > 12.55% Xorg [.] DeletePassiveGrabFromList > > 8.83% Xorg [.] GrabSupersedesSecond > > 5.55% Xorg [.] AddPassiveGrabToList > > 3.09% Xorg [.] DeletePassiveGrab > > 2.00% Xorg [.] xi2mask_merge > > 1.16% libc-2.27.so [.] _int_malloc > > 0.92% libc-2.27.so [.] _int_free > > 0.59% Xorg [.] XkbSendMap > > > > Xorg is totally frozen while this is happening. No rendering occurs at all. > > ResourceClientBits() has a loop, I wonder how many times it gets > called for one xmodmap request, but we could probably cache the > resulting value since `LimitClients` is not supposed to change once > it's set and clients are started, that would save us the loop.
Please let me know if that patch makes any difference: https://patchwork.freedesktop.org/series/53315/ If it helps, I'll prepare a MR. Cheers, Olivier _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel