Hello Arjan, I've merged my branch with fenrus75/powertop.git and my powertop build began to periodically hang with high CPU usage.
The consuming function turned out to be timer::is_deferred(). 15078 root 20 0 198m 152m 12m R 94 (%CPU) 4.0 1:11.25 powertop ... 0x00007fa12b5e9600 in __read_nocancel () from /lib/libc.so.6 (gdb) bt #0 0x00007fa12b5e9600 in __read_nocancel () from /lib/libc.so.6 #1 0x00007fa12b5869c8 in _IO_new_file_underflow () from /lib/libc.so.6 #2 0x00007fa12b587a1e in _IO_default_uflow_internal () from /lib/libc.so.6 #3 0x00007fa12b57c42a in _IO_getline_info_internal () from /lib/libc.so.6 #4 0x00007fa12b57b27b in fgets () from /lib/libc.so.6 #5 0x0000000000423a74 in fgets (__stream=0xc29da20, __n=4096, __s=0x7fff8847eb30 "196609D, 11372 kworker/3:1 schedule_delayed_work_on +(delayed_work_timer_fn)\n") at /usr/include/bits/stdio2.h:255 #6 timer::is_deferred (this=0xc296b70) at process/timer.cpp:155 #7 0x000000000041fc5c in perf_process_bundle::handle_trace_point (this=<optimized out>, type=<optimized out>, trace=0xbe38ff8, cpu=1, +time=22986802201894, flags=20 '\024') at process/do_process.cpp:379 #8 0x000000000041c60e in perf_bundle::process (this=0x83c4a70) at perf/perf_bundle.cpp:245 #9 0x0000000000420016 in process_process_data () at process/do_process.cpp:997 #10 0x000000000040a4aa in one_measurement (seconds=<optimized out>) at main.cpp:205 #11 0x0000000000405cab in main (argc=1, argv=0x7fff88481dd8) at main.cpp:422 Below are 3 patches to make powertop much more responsive just as it's used to be. Of course, is_deferred() affects performance, however, its impact is minimized. -ss _______________________________________________ Discuss mailing list Discuss@lesswatts.org http://lists.lesswatts.org/listinfo/discuss