Announcement

Collapse
No announcement yet.

More Radeon Power Management Improvements

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

  • Hi all! This is slightly OT, but I thought people interested in GPU PM would be interested in PM in general. I wrote a while ago to a wrong forum: http://www.phoronix.com/forums/showthread.php?t=25123

    Or then the issue is so much discussed that no-one is interested anymore.

    Anyway, I'd like the rest of the OS to follow the power consumption (or savings) of the GPU driver, that is, to get my linux consumption close to Windows, or even lower. Do you readers of this topic have any good ideas (and/or personal experiments)? This really is one major hindrance in taking linux as my mobile OS.

    BR,
    piete

    Comment


    • piete >> have you tried some tools like laptop-mode and powertop ?

      Does anyone know where to find the documentation (if any) to understand how the pm code works...? Especially, how the engine and memory are reclocked by reading temperature ? Is the fan controlled directly from the driver ? I mean, there must be some kind of a timer or a loop somewhere ? (or is it done by the BIOS)

      Thx

      Comment


      • I believe the current PM code runs each time the vertical blanking interrupt fires, at least for dynamic PM. Neither the static (profile) nor dynamic (dynpm) code adjusts clocks based on temperature yet, AFAIK.

        It's really fan speed that is tied to temperature, but by default the fan/temp relationship is loaded at power-up and then runs automatically unless the driver over-rides (which the open source drivers don't do today). The fan/temp controller was an external chip on early 6xx and earlier, then moved on-chip mid-way through the 6xx generation. Some boards (particularly x2 cards) still use an external controller even with newer GPUs, usually to control a single fan based on temperature info from two GPUs.

        Making the fan run slower is essentially a two step process -- setting a lower power mode reduces power dissipation and lets the chip run cooler; lower chip temperature then reduces the fan speed.
        Test signature

        Comment


        • Ok I get the point. The thing is, there is too much "inertia" between the fan speed and the actual temperature (hysteresis effect?)...(compared to fglrx) and I was wondering what was the cause of that...

          Comment


          • The two PM implementations are totally different, and the fglrx PM code is a lot more sophisticated than the PM code in the open drivers. Power management is a highly competitive, highly proprietary area these days.

            I believe the power management code in fglrx is still bigger than the *entire* open source driver code.

            That said, the existing PM code in the open source driver was only implemented very recently and there are a lot of "known things to do" when time permits. I expect the gap between the two drivers will continue to close over time. The initial goal of the PM code in the open source drivers was to (a) get the basic framework in place, (b) provide enough control of power usage to avoid overheating.
            Test signature

            Comment


            • Originally posted by Gaius View Post
              piete >> have you tried some tools like laptop-mode and powertop ?
              Yes, and that's why I'm puzzled why the power consumption differences are so big. Still haven't been able to try the tips on other thread (due to lack of time) but will still try them, just difficult to find enough time with kids...

              Comment


              • Originally posted by bridgman View Post
                The initial goal of the PM code in the open source drivers was to (a) get the basic framework in place, (b) provide enough control of power usage to avoid overheating.
                I acknowledge this and am really grateful for it. But as we end users are never satisfied...

                I mean now I can easily use newer linux distributions (kernel 2.6.34+) comfortably for desktop use (on my laptop), the next thing I want is some mileage for my battery.

                I wish I could contribute but due to work and family obligations my free time is scarce and mostly used to rest

                Comment


                • Sry for resuming this thread, but I wish to ask if voltage management in radeon driver is in place and working.

                  My mobile hd3450 is always working at 1.000v despite the fact I set low in power_profile. It is 1.000v even in high power mode

                  Is there a way to manually override the voltage?

                  Comment


                  • Originally posted by blackshard View Post
                    Sry for resuming this thread, but I wish to ask if voltage management in radeon driver is in place and working.

                    My mobile hd3450 is always working at 1.000v despite the fact I set low in power_profile. It is 1.000v even in high power mode

                    Is there a way to manually override the voltage?
                    Not quite sure what your card supports, here is my AMD 6970M and kms enabled on a single monitor:
                    Code:
                    default engine clock: 680000 kHz
                    current engine clock: 99990 kHz
                    default memory clock: 900000 kHz
                    current memory clock: 150000 kHz
                    voltage: 900 mV
                    Code:
                    $ cat /sys/class/drm/card0/device/power_method
                    profile
                    $ cat /sys/class/drm/card0/device/power_profile
                    mid
                    see also here:

                    Comment

                    Working...
                    X