I confirm 2 kworker processes constantly using CPU:
- kworker/1:0 12-18%
- kworker/0:0 2-8%
on fresh Stretch 5.38 on Banana Pro running from fast microSDHC card.
Both processes use together ~21% CPU all the time.
kworker/1:0 12-18% (mostly gc_worker for nf_conntrack) - even on disabled IP forwarding & NAT, and almost no traffic:
kworker/0:0: 2-8% (even with disabled cursor flashing on framebuffer screen by: echo -n -e '\e[?17;14;224c' > /dev/tty0 and no vmstat running)
iostat doesn't show any I/O on disk or microsd card and memory usage is at ~30%, not swapping.
I tried stopping most of the running processes but that didn't change anything, too.
It's quite irritating that having not so much CPU power, performance is even more impacted (visible in my case for any web services configured again later - openmediavauilt, owncloud, traccar,...).
Previously I used similar configuration but on much older Bananian Wheezy (still up-to-date from repos) with kernel 3.4.x and kworkers took there some cycles only when I/O was high, but not impacting performance that much, especially in idle.