Li, Aubrey wrote: > On Tuesday, October 30, 2007 5:02 AM, tesla-dev-bounces at opensolaris.org > wrote: > >> Eric Saxe wrote: >>> Yea, it's a good question. My impression of the T-states, is that in >>> the general (common) case the system wouldn't use them, since from my >>> understanding their purpose is mainly as a mechanism for quickly (and >>> forcibly) throttling the processor clock to bring a thermal situation >>> under control. >> Let's think about that. T-states represent nothing more than the >> ability to hold the CPU for some percentage of clock cycles. >> T-states do not >> reduce the CPU >> clock >> and do not reduce the voltage to the CPU. > > Yes, T-states just forcefully introduce idle cycles in the processor, > and these idle cycles don't get into power saving C-states. Are you sure? Isn't asserting the HOLD line for a CPU the same as executing a HLT instruction, for the most part? >> Given a choice between a T-state that halts the CPU for 50% of >> the clock >> cycles >> and a P-state which runs the CPU at 50% of full-speed, the >> P-state will >> win in >> terms of power savings (and thermal safety) every time. Given >> that the >> thermal >> time-constant of a CPU is *much* greater than the time it takes to >> switch P-states, I don't think there's a compelling case for T-state >> usage *when P-states are supported*. >> T-states give a linear power reduction, while P-states give a >> geometric power >> reduction. > > That's not ture, T-state doesn't save any energy. Of course T-states save energy. If they didn't save energy, they would be useless to reduce heat generation; energy use in a CPU corresponds directly to heat dissipation. Use more energy, generate more heat. Use less energy, generate less heat. There's a physics law for this :-)
So I restate it - T-states give a linear reduction in power use (and the corresponding heat generation), and P-states give a geometric reduction in the same. I've measured the power reduction of a system (an AMD system in this case) achieved by manually manipulating the T-state control register. It was linear, as expected. >> While T-state switching is of much lower latency, it is no >> more forcible >> than >> switch P-states. >> >> Where I can see T-states being useful is on systems where there's no >> P-state support, or to create intermediate levels between P-states. > > T-states is only used when processor is over heat. > It's not designed for normal power saving. > We should avoid T-state whenever we can. Well, I don't disagree that T-states aren't an ideal method to save energy, but they *are* a way to save energy. Otherwise, they'd be of no use to reduce heat generation. >>> It's also my understanding that the performance impact of >>> the T-states are fairly severe, which begs the question if we would >>> ever want the CPU to enter them when not idle. When the CPU is idle, >>> I would wonder how T-states would compare to what we get from >>> entering the C1 state. Since T-states don't change the voltage, I >>> would guess that C1 would actually buy more. Maybe Aubrey or someone >>> else can correct me if I'm mistaken... >> I don't believe it makes sense to compare T-states to C-states - I'd >> compare T-states to P-states. The performance impact of a T-state is >> comparable >> to that of >> a P-state which >> runs at the same effective clock rate, while the power savings of a >> P-state is greater. > > That doesn't make sense to me, too. They are not comparable. Because > they are in different cases. T-states are one way of manipulating a CPU to do less work and, thus, consume less power. P-states are another way to achieve the same thing with a greater associated savings in energy (and reduction in heat generation). >>> Aren't there also cases where the processor could go into a T-state >>> without the OS actually knowing? >> It's certainly possible that the chipset could start holding the CPU >> halted for some percentage of clock cycles, I suppose. >> > > The answer is yes, cpu has a thermal sensor, and it can automatically > throttle in overheat case. Of course. Dana
