[RFC] Moving toward smarter disabling of FPRs, VRs, and VSRs in the MSR

Gabriel Paubert paubert at iram.es
Mon Mar 16 21:52:21 EST 2009


On Sat, Mar 14, 2009 at 02:49:02PM +0100, Segher Boessenkool wrote:
>> Another option might be simply to say that if an app has used FP, VMX 
>> or
>> VSX -once-, then it's likely to do it again and just keep re-enabling
>> it :-)
>>
>> I'm serious here, do we know that many cases where these things are  
>> used
>> seldomly once in a while ?
>
> For FP, I believe many apps use it only sporadically.  But for VMX and 
> VSX,
> yeah, it might well be optimal to keep it enabled all the time.  Someone
> should do some profiling...

I concur. I have some apps who are mostly integer but from time to time
perform some statistics which are so much easier to write declaring
a few double variables. On the other hand when you start with vector
instructions, it often means that you are going to use them for a while.


This said, I'm not opposed to an heuristic like: if the app has used 
the FP/VMX/VSX registers systematically after having been scheduled a 
few times (2 for VMX/VSX, 5 for FP), load the corresponding registers 
on every schedule for the next n schedules, where n would be about 20
for VSX/VMX, and perhaps only 5 for FP. 

	Gabriel



More information about the Linuxppc-dev mailing list