Periodical interrupt storm when playing game with USB keyboard

Hans Petter Selasky hps at selasky.org
Sun Jan 21 19:37:53 UTC 2018


On 01/21/18 16:41, Johannes Lundberg wrote:
> Hi
> 
> Finally I found the root to the problem that's been having me puzzled for
> the last week.
> 
> I started playing UT2004 on my laptop while away from home. Worked
> perfectly. When I'm home and connect external display+mouse/keyboard, I get
> weird random lag.
> 
> It is intr process that goes up to 100% CPU usage (swi4: clock) for a
> couple of seconds every 30 seconds or so, but only when I'm moving around
> in the game. To move around you need to hold down any of the wasd-keys.
> 
> Turns out, the interrupt storms only happen when I use my external
> keyboard, not with the laptop keyboard.
> 
> The internal keyboard is:
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> 
> and external (Microsoft sculpt ergonomic desktop):
> ugen0.2: <Microsoft Microsoft 2.4GHz Transceiver v9.0> at usbus0
> ukbd0: <Microsoft Microsoft 2.4GHz Transceiver v9.0, class 0/0, rev
> 2.00/7.97, addr 1> on usbus0
> 
> The game runs with a linux binary. 32/64bit both act the same.
> It uses libSDL-1.2 from /compat/linux/lib for rendering but not sure about
> input events.
> 
> I tried lowering the key repeat rate both with xset and kbdcontrol but it
> has no effect.
> 
> I don't have any wired USB keyboard to try with.
> 
> Anyone have a clue to what's going on?
> 
> Hardware is Dell Latitude E7270
> with
> FreeBSD 12-CURRENT
> drm-next-kmod
> linux-c6

Hi,

What does "vmstat -i" say?

The issue can also be caused by a timer with a small or zero timeout.

This can be checked by setting:
kern.eventtimer.periodic=1

in /boot/loader.conf and rebooting.

--HPS


More information about the freebsd-current mailing list