Announcement

Collapse
No announcement yet.

More Radeon Power Management Improvements

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

  • The driver (open or proprietary) use the power state tables in the vbios. That's why they are there.

    Comment


    • Originally posted by monraaf View Post
      In all honesty I don't really have any complaints about the power management in the open source radeon driver. It works like a charm for me with a HD 5750, so I don't see what exactly needs improvement.

      System power consumption Idle Desktop:
      -----------------------------------------
      fglrx : 62 W
      radeon: 65 W

      GPU Temperatures Idle Desktop:
      -----------------------------------------
      fglrx: 40 C
      radeon: 42/43 C


      The only thing that I'm missing is something to manually control the fan, so I can make the thing just a little more quiet.
      That's exactly my issue...it is not quiet at all most of the time...as it seems it takes too long to go back to normal speed...(more than 5 minutes instead of a couple of seconds). The problem is not the power consumption.

      Comment


      • Originally posted by Gaius View Post
        it seems it takes too long to go back to normal speed
        Do you use profiles or dynamic pm?
        Because dynpm is still experimental and should not be used.
        ## VGA ##
        AMD: X1950XTX, HD3870, HD5870
        Intel: GMA45, HD3000 (Core i5 2500K)

        Comment


        • I use profile method.

          Comment


          • Originally posted by Gaius View Post
            That's exactly my issue...it is not quiet at all most of the time...as it seems it takes too long to go back to normal speed...(more than 5 minutes instead of a couple of seconds). The problem is not the power consumption.
            I approve of this post:

            I regularly ramp up the fan (if for my taste the card is getting to warm - it's still summer after all ) and then after a short while turn it down to a pretty low frequency/rpm number where it doesn't annoy me

            it would be really nice to have kind of a virtual "knob" to control how fast the fan turns

            for my 5850 (with fglrx / catalyst) that's in general around 21-24%, so it doesn't have to be in explicit numbers

            Comment


            • I am wondering when dynpm is gonna be a stable solution. What difficulties are you facing with the vblank period and the power-state switching?

              Comment


              • 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.

                    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.

                        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:
                                http://phoronix.com/forums/showthrea...leration/page2

                                Comment

                                Working...
                                X