REPRODUCIBILITY (% or how often): 80%
BUILD ID = OS VERSION (Settings > About product): 4.2.0.21 (Verla)
HARDWARE (XA2, X10, X10 II, …): X10DS
UI LANGUAGE: en
REGRESSION: (compared to previous public release: Yes, No, ?): ?
DESCRIPTION:
Several monitoring tools (ps, dstat, top, htop, collectd/systemdatascope…) show systemd-logind
eating resources all the time.
Not much, but constantly.
Here’s what collectd/systemdatascope produce:
UPDATE1: It appears the phenomenon appeards while the display is OFF, not during normal use (obseved while logged in over ssh).
UPDATE2: Udevd is involved as well, if I read my graphs correctly - spikes are very similar.
Screenshot:
PRECONDITIONS:
unknown
STEPS TO REPRODUCE:
- have systemd-logind active (hehe)
- monitor CPU or I/O usage using your preferred method
- notice constant acticity
EXPECTED RESULT:
Which amount of load this should cause in order to be doing what it must be doing is unknown to me, but it shouldn’t actually have to do a lot on a single-user system like a SFOS phone.
ACTUAL RESULT:
3-5% CPU usage by the systemd-logind
process all the time.
I also see the device not being able to put all CPUS to sleep, which might or might not be related.
Also, htop
shows a particular IRQ thread busy a lot, which may or may not be related.
Kernel thread name: irq/30-1008000
.
Info according to proc/interrups
: 30: 17464269 0 mpm-gic 215 Level 1008000.qcom,cpu-bwmon
ADDITIONAL INFORMATION:
Using strace
I find that it’s apparently looping over files (symlinks?) under
/sys/devices/platform/soc/soc
, mainly sound and camera devices.
I have run something like
strace -e file -w -C -p 2910 2>&1
which results in:
strace: Process 2910 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
71.81 1.616770 43 37206 openat
11.05 0.248774 54 4573 readlinkat
8.12 0.182891 60 3007 access
4.89 0.110015 76 1441 setxattr
3.04 0.068464 47 1441 getxattr
0.77 0.017396 527 33 rename
0.16 0.003695 111 33 33 mkdir
0.16 0.003571 108 33 lstat64
------ ----------- ----------- --------- --------- ----------------
100.00 2.251576 47 47767 33 total
Strace outputs:
- full trace: https://paste.c-net.org/PatentedJeans
-
-e file
only: https://paste.c-net.org/SortsSunsets
If you do a grep ^access trace_file.log | sort | uniq -c
you will find the same 131 files are accessed 16 times in the time that strace ran.