Project

General

Profile

Bug #2828

On AMD APUs and Bulldozer CPUs, the machdep.cpu_idle_hlt sysctl should be 3 by default

Added by vadaszi about 2 years ago. Updated about 2 years ago.

Status:
New
Priority:
High
Assignee:
Category:
Kernel
Target version:
Start date:
06/13/2015
Due date:
% Done:

0%


Description

Power usage of a default install is unnecessarily high on current AMD CPUs. Setting the default value of the machdep.cpu_idle_hlt sysctl on these CPUs to 3 by default allows for significant power savings.

I'm not sure how setting machdep.cpu_idle_hlt=3 affects power usage on AMD Family 10h CPUs (e.g. Phenom CPUs).

Some quick benchmarking should be done if possible, to compare the performance difference.

History

#1 Updated by dillon about 2 years ago

Hmm. Did you measure the actual power consumption? The default (2) is supposed to be a hybrid approach that falls into ACPI. But looking at it, it is quite possible that the code in kern/lwkt_thread.c that is responsible for resetting gd_idle_repeat to 0 is breaking the concept.

-Matt

#2 Updated by tautolog about 2 years ago

I helped measure this on my laptop with the author's kernel nodule. I got better cstate stats, and my cpu temp went from 97c to 70c during idle, but the actual battery life improvement was 1:40 instead of 1:30. My battery is capping out, so a new battery would probably get 20 extra minutes.  

In my opinion, the much better heat profile of the laptop made it worth it alone, because that helped even when it was plugged in.

I can test whatever you need.

Ben
  Original Message  
From:
Sent: Thursday, July 23, 2015 3:02 PM
Reply To:
Subject: [DragonFlyBSD - Bug #2828] On AMD APUs and Bulldozer CPUs, the machdep.cpu_idle_hlt sysctl should be 3 by default

Issue #2828 has been updated by dillon.

Hmm. Did you measure the actual power consumption? The default (2) is supposed to be a hybrid approach that falls into ACPI. But looking at it, it is quite possible that the code in kern/lwkt_thread.c that is responsible for resetting gd_idle_repeat to 0 is breaking the concept.

-Matt

----------------------------------------
Bug #2828: On AMD APUs and Bulldozer CPUs, the machdep.cpu_idle_hlt sysctl should be 3 by default
http://bugs.dragonflybsd.org/issues/2828#change-12694

* Author: vadaszi
* Status: New
* Priority: High
* Assignee: vadaszi
* Category: Kernel
* Target version: 4.2.x
----------------------------------------
Power usage of a default install is unnecessarily high on current AMD CPUs. Setting the default value of the machdep.cpu_idle_hlt sysctl on these CPUs to 3 by default allows for significant power savings.

I'm not sure how setting machdep.cpu_idle_hlt=3 affects power usage on AMD Family 10h CPUs (e.g. Phenom CPUs).

Some quick benchmarking should be done if possible, to compare the performance difference.

--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account

Also available in: Atom PDF