xmodmap really slow

Olivier Fourdan ofourdan at redhat.com
Fri Nov 30 12:06:32 UTC 2018


On Fri, Nov 30, 2018 at 12:27 PM Alan Hourihane <alanh at 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.

Cheers,
Olivier


More information about the xorg-devel mailing list