Announcement

Collapse
No announcement yet.

AMD Has Massive Radeon Patch Set - Power Management!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Xipeos
    replied
    Originally posted by agd5f View Post
    I pushed some updated patches to my drm-next-3.11 branch that should fix the outstanding issue with NI asics and also adds a debugfs interface for tracking the current power state.
    radeon_dpm_info shows that the driver indeed switches between power levels under even the slightest load, but the power levels within a state are all the same on my card (RV770).

    Leave a comment:


  • archibald
    replied
    Originally posted by sandy8925 View Post
    This is great news! I am glad that AMD has decided that providing a proper open source driver is important. Thank you developers! Now, time to go do some testing....
    They decided that it was important a long time ago, the code was written a while ago but it needed to go through their review process.

    Leave a comment:


  • sandy8925
    replied
    Great news!

    This is great news! I am glad that AMD has decided that providing a proper open source driver is important. Thank you developers! Now, time to go do some testing....

    Leave a comment:


  • commiethebeastie
    replied
    Code:
    [email protected]# cat /sys/kernel/debug/dri/0/radeon_pm_info
    uvd    vclk: 0 dclk: 0
    power level 0    sclk: 10000 mclk: 30000 vddc: 950 vddci: 950
    [email protected]# cat /sys/kernel/debug/dri/0/radeon_pm_info
    uvd    vclk: 0 dclk: 0
    power level 2    sclk: 79000 mclk: 100000 vddc: 1150 vddci: 1100
    All works after last update!!!

    Leave a comment:


  • Veerappan
    replied
    Things seem to be working generally well for me on 2 of the 3 cards I've got installed at the moment (my 6850 lacks a computer to install it in):

    Cedar (Radeon 5400): Both the graphics chip and UVD reclocking seems be to functioning well... with a dual-monitor setup. Kernel = drm-next from Ubuntu mainline ppa as of 20130702 (firmware from people.fd.o)

    A6-3500 (APU): I haven't checked clock speeds using the new debugfs code, but the machine is working well with radeon.dpm=1 radeon.audio=1 and VDPAU/UVD being used. This is using the WIP-3 (or maybe -5) branch.

    HD7850: Reclocking seems to be working just fine for the gpu/memory, but anything that has to do with UVD is causing screen corruption the moment that the UVD clock is increased. And then when you stop using UVD, the system hangs. This is using the WIP-3 or WIP-5 branch code. I'll have to retest with some newer stuff later.

    Leave a comment:


  • pali
    replied
    Just to note, I have Intel Sandy Bridge processor.

    Leave a comment:


  • stqn
    replied
    Originally posted by brosis View Post
    Intel CPUs use pstate driver
    From what I read [1] [2], this pstate driver only supports sandy bridge and more recent processors.

    [1] http://www.phoronix.com/scan.php?pag...tem&px=MTI5Mzc
    [2] http://lkml.indiana.edu/hypermail/li...2.1/03328.html
    Last edited by stqn; 07-02-2013, 11:52 AM.

    Leave a comment:


  • brosis
    replied
    Originally posted by pali View Post
    Here is some more info with enabled dpm

    dpm performance mode:
    Code:
    glxgears --> 616 FPS (with Option SwapbuffersWait off)
    $ cat /sys/class/drm/card0/device/power_method 
    dpm
    $ cat /sys/class/drm/card0/device/power_dpm_state 
    performance
    dpm battery mode:
    Code:
    glxgears --> 590 FPS (with Option SwapbuffersWait off)
    $ cat /sys/class/drm/card0/device/power_method 
    dpm
    $ cat /sys/class/drm/card0/device/power_dpm_state 
    battery
    So when dpm is enabled performance is definitly worse.

    @agd5f: Do you know what to do? How to increase performance with enabled dpm? I'd like to see same performace with dpm as "default" profile has.

    If you need additional info or tests, let me know what is needed.
    Glxgears is a light 3D benchmark. So light, many claim it only measures CPU overhead of the driver, so the values are not directly comparable. But increase in glxgears frames on same machine is a good thing.
    You may be hitting ondemand powerstate bug, thread is found in this section of forum, but only if you use non-Intel CPU. Intel CPUs use pstate driver, so its completely different and more efficient.
    To overcome this, you can play with:
    echo 150 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
    which will increase CPU polling time, if frequency went up. Default is 1.
    the cpu will stay longer in performance state and less frequent polls in power state rob less of CPU raw performance.
    but on mobile platform it could be advantageous to keep the value lower or even default, as it will result in faster downclock time and less battery usage. However, if your mobile platform is loaded, more frequent polls will rob its performance and will rob more battery. Think of it as a warden, that can mess too much in manufacturing process, robbing its efficiency; but if there is nothing to do, more frequent checks will result in faster downclock.

    echo 35 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
    which will make CPU enter full clocking, if the load of more that 35% is detected. Default is 95%, which guarantees sluggish desktop. Personally recommended values 25-40%.

    You can then set these variables in /etc/sysfs.conf (create it, if absent), the following way:
    devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
    devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
    devices/system/cpu/cpufreq/ondemand/sampling_down_factor = 150
    devices/system/cpu/cpufreq/ondemand/up_threshold = 35
    or load your settings in any autostart script.

    If you have mobile platform, governor "conservative" may be more advantageous, as it increases clocks step-wise; "ondemand" will fire top clock when reaching barrier, instead.
    Last edited by brosis; 07-02-2013, 11:21 AM.

    Leave a comment:


  • d2kx
    replied
    Latest kernel didn't fix UVD, booting soft lockup and 3D performance (doesn't get faster/louder in games) for my HD 6870.

    Leave a comment:


  • frosth
    replied
    HD7770 without success

    $vblank_mode=0 lightsmark:
    with DPM - 57 fps
    dmesg:
    [ 1263.101071] switching from power state:
    [ 1263.101072] ui class: performance
    [ 1263.101074] internal class: none
    [ 1263.101076] caps:
    [ 1263.101079] uvd vclk: 0 dclk: 0
    [ 1263.101081] power level 0 sclk: 30000 mclk: 15000 vddc: 825 vddci: 900 pcie gen: 1
    [ 1263.101084] power level 1 sclk: 40000 mclk: 115000 vddc: 950 vddci: 950 pcie gen: 1
    [ 1263.101086] power level 2 sclk: 102000 mclk: 115000 vddc: 1200 vddci: 950 pcie gen: 1
    [ 1263.101088] status: c r
    [ 1385.489321] switching to power state:
    [ 1385.489327] ui class: performance
    [ 1385.489329] internal class: none
    [ 1385.489332] caps:
    [ 1385.489334] uvd vclk: 0 dclk: 0
    [ 1385.489338] power level 0 sclk: 30000 mclk: 15000 vddc: 825 vddci: 900 pcie gen: 1
    [ 1385.489340] power level 1 sclk: 40000 mclk: 115000 vddc: 950 vddci: 950 pcie gen: 1
    [ 1385.489343] power level 2 sclk: 102000 mclk: 115000 vddc: 1200 vddci: 950 pcie gen: 1
    [ 1385.489345] status: c r
    ...
    x4

    with static PM "low" - 57fps
    with static PM "high" - 234fps

    uvd crash system
    edit:

    when uvd start:
    kernel: switching from power state:
    kernel: ui class: performance
    kernel: internal class: none
    kernel: caps:
    kernel: uvd vclk: 0 dclk: 0
    kernel: power level 0 sclk: 30000 mclk: 15000 vddc: 825 vddci: 900 pcie gen: 1
    kernel: power level 1 sclk: 40000 mclk: 115000 vddc: 950 vddci: 950 pcie gen: 1
    kernel: power level 2 sclk: 102000 mclk: 115000 vddc: 1200 vddci: 950 pcie gen: 1
    kernel: status: c

    kernel: switching to power state:
    kernel: ui class: none
    kernel: internal class: uvd
    kernel: caps: video
    kernel: uvd vclk: 72000 dclk: 56000
    kernel: power level 0 sclk: 40000 mclk: 115000 vddc: 950 vddci: 950 pcie gen: 1
    kernel: power level 1 sclk: 40000 mclk: 115000 vddc: 950 vddci: 950 pcie gen: 1
    kernel: power level 2 sclk: 102000 mclk: 115000 vddc: 1200 vddci: 950 pcie gen: 1
    kernel: status: r
    after that system goes down.
    Last edited by frosth; 07-02-2013, 07:31 AM.

    Leave a comment:

Working...
X