Project

General

Profile

Actions

Bug #2828

open

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

Added by vadaszi over 9 years ago. Updated over 3 years ago.

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

0%

Estimated time:

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.

Actions #1

Updated by dillon over 9 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

Actions #2

Updated by tautolog over 9 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

Actions #3

Updated by tuxillo over 3 years ago

  • Target version changed from 4.2 to 6.0
Actions

Also available in: Atom PDF