You are not logged in.

#1 2020-01-11 03:41:06

ddaygold
Member
From: NYC
Registered: 2015-08-18
Posts: 4
Website

Two chromebooks with identical CPUs, but different kernel utilization

I have two chromebooks:
A Dell Chromebook 11

Product Name: Wolf

and an Acer C720

Product Name: Peppy

.

Both list the same CPU model through lscpu

Model name:                      Intel(R) Celeron(R) 2955U @ 1.40GHz

The Dell is booting through the full firmware ROM at mrchromebox.tech, while the Acer is booting through SeaBIOS.

The Dell chromebook shows ~50% CPU time in htop, even when idle, with most of the time coming from kernel time.
The Acer shows almost no CPU time while idle.

I enabled kernel profiling (echo 1 > /sys/kernel/profiling) on both systems, synced the polling start interval (echo > /proc/profile), and see drastically different top kernel functions.
I sorted the profile with  sudo readprofile | sort -nr -k3,3
The Acer just shows a light overall third column, mostly cpu_idle_enter_state, while the Dell shows a much more loaded profile.

Dell:

 14552 poll_idle                                 81.7528
 65959 cpuidle_enter_state                       57.2561
    63 clear_page_erms                            3.9375
   571 __wake_up_common_lock                      2.9740
  1441 finish_task_switch                         2.3093
   140 menu_reflect                               2.1875
   300 rcu_idle_exit                              2.0833
    31 memset_erms                                1.9375
  1515 __softirqentry_text_start                  1.7929
    28 read_tsc                                   1.7500
   479 do_syscall_64                              1.4969
   167 native_sched_clock                         1.1597
    34 mutex_lock                                 1.0625
   118 __fget                                     0.7375
    23 cpuidle_reflect                            0.7188
    62 __fget_light                               0.6458
    19 __x86_indirect_thunk_rax                   0.5938
     9 sched_clock                                0.5625
     9 __fdget                                    0.5625
    53 preempt_schedule_irq                       0.5521
     8 memcpy_erms                                0.5000

Acer:

 14818 cpuidle_enter_state                       12.8628
    16 clear_page_erms                            1.0000
     7 memset_erms                                0.4375
    16 copy_user_enhanced_fast_string             0.3333
   133 finish_task_switch                         0.2131
     2 memcpy_erms                                0.1250

Any ideas on how to get the kernel to idle more quietly?

Offline

#2 2020-01-11 10:26:31

seth
Member
Registered: 2012-09-03
Posts: 50,957

Re: Two chromebooks with identical CPUs, but different kernel utilization

Offline

#3 2020-01-12 19:54:49

ddaygold
Member
From: NYC
Registered: 2015-08-18
Posts: 4
Website

Re: Two chromebooks with identical CPUs, but different kernel utilization

seth wrote:

You're somehow™ using idle=poll

Bizarrely, the kernel will enter higher Cstates, but it seems to thrash really hard to get there.

I don't have idle=poll in my kernel parameters:

BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=10d89c9c-eacb-4745-a32c-0bbda9c62b92 rw loglevel=3 quiet cryptdevice=UUID=d39cf816-62da-4488-81e6-8e5c9f64a114:cryptroot:allow-discards root=/dev/mapper/cryptroot acpi_osi=Linux tmp_tis.interrupts=0

everything after the root=...cryptroot parameters came from GaliumOS, a live usb of their distro had a quiet idle. Didn't work for the Arch kernel, though. I tried switching back to the LTS kernel, as Galium had an old kernel, that didn't work either.

Offline

#4 2020-01-12 21:46:12

seth
Member
Registered: 2012-09-03
Posts: 50,957

Re: Two chromebooks with identical CPUs, but different kernel utilization

https://wiki.archlinux.org/index.php/CP … _governors

Do you use userspace tools to mess w/ the scaling governor? Are they maybe different by default for reasons™?

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Unrelated:
"tmp_tis.interrupts=0" <= typo…

Offline

#5 2020-01-13 04:23:17

ddaygold
Member
From: NYC
Registered: 2015-08-18
Posts: 4
Website

Re: Two chromebooks with identical CPUs, but different kernel utilization

All scaling_governor values are "powersave", fixed the typo.

Offline

#6 2020-01-13 23:13:38

eugene55
Member
Registered: 2020-01-13
Posts: 1

Re: Two chromebooks with identical CPUs, but different kernel utilization

The issue is coreboot from mrchromebox.tech, as stated in issues opened for the project on github: (https://github.com/MrChromebox/firmware/issues/68 and https://github.com/MrChromebox/firmware/issues/110)

Offline

#7 2021-04-09 03:24:54

cedrus
Member
Registered: 2021-04-09
Posts: 1

Re: Two chromebooks with identical CPUs, but different kernel utilization

seth wrote:

https://wiki.archlinux.org/index.php/CP … _governors

Do you use userspace tools to mess w/ the scaling governor? Are they maybe different by default for reasons™?

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Unrelated:
"tmp_tis.interrupts=0" <= typo…

Thank you. This is really helpful.

Offline

Board footer

Powered by FluxBB