lkml.org 
[lkml]   [2010]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] x86: eliminate TS_XSAVE
On 05/02/2010 10:44 AM, Avi Kivity wrote:
> On 05/02/2010 08:38 PM, Brian Gerst wrote:
>> On Sun, May 2, 2010 at 10:53 AM, Avi Kivity<avi@redhat.com> wrote:
>>
>>> The fpu code currently uses current->thread_info->status& TS_XSAVE as
>>> a way to distinguish between XSAVE capable processors and older processors.
>>> The decision is not really task specific; instead we use the task status to
>>> avoid a global memory reference - the value should be the same across all
>>> threads.
>>>
>>> Eliminate this tie-in into the task structure by using an alternative
>>> instruction keyed off the XSAVE cpu feature; this results in shorter and
>>> faster code, without introducing a global memory reference.
>>>
>> I think you should either just use cpu_has_xsave, or extend this use
>> of alternatives to all cpu features. It doesn't make sense to only do
>> it for xsave.
>>
>
> I was trying to avoid a performance regression relative to the current
> code, as it appears that some care was taken to avoid the memory reference.
>
> I agree that it's probably negligible compared to the save/restore
> code. If the x86 maintainers agree as well, I'll replace it with
> cpu_has_xsave.
>

I asked Suresh to comment on this, since he wrote the original code. He
did confirm that the intent was to avoid a global memory reference.

-hpa



\
 
 \ /
  Last update: 2010-05-03 23:49    [W:0.061 / U:3.936 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site