Description
Hello. After upgrading x11-wm/sway
to a new version 1.4
I found it completely unusable (what a surprise!) Turns out it uses too much per-process timers and the kernel simply refuses to create more, rendering sway unusable. One solution to this problem is to bump TIMER_MAX
in /usr/src/sys/sys/timers.h
and recompile the kernel (hopefully, it doesn't break userland). The other solution is to upgrade to wayland 1.17.91
which tracks timers in userland and require only one timer from the kernel.
Obviously, it works in Linux, but in FreeBSD it causes to abnormally high number of calls to kevent()
and almost 100% CPU usage. You can look at the issue I created for sway here for detailed information.
For example, here is the number of calls to kevent()
by firefox
and sway
in the period of about 10 seconds.
firefox kevent() 507
sway kevent() 10377444
You can take my port for a fresh wayland from here.
Any ideas what's going on?