From: "H. Peter Anvin" <hpa@zytor.com>
To: Avi Kivity <avi@redhat.com>, Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Brian Gerst <brgerst@gmail.com>,
Dexuan Cui <dexuan.cui@intel.com>,
Sheng Yang <sheng@linux.intel.com>, Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Subject: Re: [PATCH 1/2] x86: eliminate TS_XSAVE
Date: Mon, 03 May 2010 14:45:43 -0700 [thread overview]
Message-ID: <4BDF4407.8000503@zytor.com> (raw)
In-Reply-To: <4BDDBA18.3080909@redhat.com>
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
next prev parent reply other threads:[~2010-05-03 21:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-02 14:53 [PATCH 0/2] x86 FPU API Avi Kivity
2010-05-02 14:53 ` [PATCH 1/2] x86: eliminate TS_XSAVE Avi Kivity
2010-05-02 17:38 ` Brian Gerst
2010-05-02 17:44 ` Avi Kivity
2010-05-03 21:45 ` H. Peter Anvin [this message]
2010-05-04 7:41 ` Avi Kivity
2010-05-04 18:15 ` Suresh Siddha
2010-05-04 18:24 ` H. Peter Anvin
2010-05-05 7:30 ` Avi Kivity
2010-05-05 12:10 ` H. Peter Anvin
2010-05-05 12:12 ` H. Peter Anvin
2010-05-04 18:03 ` Suresh Siddha
2010-05-02 14:53 ` [PATCH 2/2] x86: Introduce 'struct fpu' and related API Avi Kivity
2010-05-04 18:12 ` Suresh Siddha
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BDF4407.8000503@zytor.com \
--to=hpa@zytor.com \
--cc=avi@redhat.com \
--cc=brgerst@gmail.com \
--cc=dexuan.cui@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sheng@linux.intel.com \
--cc=suresh.b.siddha@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox