Hi, 

I will be following up this project. So to recapitulate, the aim is to take 
down a processor based on a policy implemented in the kernel, and to afterwards 
re-enable it.

I believe that psradm is solely a user-space tool, so that would mean we cannot 
use it from kernel code. p_online looks more suitable for this. By putting the 
cpu in the P_OFFLINE state, no processor nor interrupts will be 
executed/handled by this cpu, right?

To take the processor down, gavinm suggested that we need to use the dynamic 
reconfiguration facility. I have the OpenSolaris Internals book, but it doesn't 
really explain how to use it. Is there some other documentation for this, or 
could you point me to a place in the source code where I should look?

As a side thought: we are looking to implement this in the kernel, since I 
suppose this is the only feasible way to have a performant execution. The 
policy to turn on and off cpu's would require interaction with the dispatcher: 
when a processor is idle we could take it down in order to save power (of 
course a more intelligent policy is more useful). Do you agree that the kernel 
is the only possible or practically feasible way of handling this? 
An alternative would be for the dispatcher to export some information to 
user-space, where the policy would react upon it and then use the psradm 
user-space tool to take a processor down. However, I think that at the time the 
user-space program has realized that a processor is idle and wants to take it 
down, the dispatcher has already dispatched a new task to the processor. So I 
believe that the latencies involved with such a strategy are too big. An 
advantage of this strategy, however, is that the policy can more easily be 
changed, since it doesn't involve recompiling the kernel.

To what extent are such power management facilities actually already present in 
the opensolaris kernel?

Thanks, Thomas
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to