Ubuntu – causing Ubuntu on MacBook Pro to have high CPU usage

cpumacbook properformance

I installed Ubuntu 13.10 on a MacBook Pro 10,1. However, after installing, the kworker process consumes over 90% of CPU usage. I tried the following:

  1. (Suggested in this answer) Execute grep . -r /sys/firmware/acpi/interrupts/ to see if any GPEs have high values.
  2. (Suggested in this answer) Under sudo -s, execute echo l > /proc/sysrq-trigger and read the output in dmesg.
  3. (Suggested in this answer) Execute sudo perf record -g -a sleep 10 and read the output in perf report.

For 1, gpe16 had a high value and it kept climbing. I tried disabling gpe16 as suggested in the answer, and the kworker CPU usage went down to 0.0%.

For 2 (without disabling gpe16), dmesg showed no additional information than what was present at boot.

For 3 (without disabling gpe16), it reported the following in red:

-  50.76%      kworker/0:5  [kernel.kallsyms]                        [k] native_read_tsc
   - native_read_tsc
      - 64.72% delay_tsc
           __const_udelay
         + gmux_index_wait_ready.isra.6
      - 35.28% __const_udelay
         + gmux_index_wait_ready.isra.6
-  35.14%      kworker/0:5  [kernel.kallsyms]                        [k] delay_tsc
   - delay_tsc
   - __const_udelay
   - gmux_index_wait_ready.isra.6
      - 59.84% gmux_index_write8
           gmux_notify_handler
           acpi_ev_notify_dispatch
           acpi_os_execute_deferred
           process_one_work
           worker_thread
           kthread
           ret_from_fork
      - 40.16% gmux_index_read8
           gmux_notify_handler
           acpi_ev_notify_dispatch
           acpi_os_execute_deferred
           process_one_work
           worker_thread
           kthread
           ret_from_fork

Questions:

  1. What is gpe16? How do I know that disabling this interrupt for the sake of kworker will not have other consequences?
  2. What information can be gleaned from perf report? Is there something do to with the timestamp on the MacBook Pro?

Best Answer

When I have a ridiculous high CPU usage it always seems to be a Python related process. I just kill it inside (Gnome) System Monitor whenever it bugs me.

Related Question