From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757583Ab0ECVqk (ORCPT ); Mon, 3 May 2010 17:46:40 -0400 Received: from terminus.zytor.com ([198.137.202.10]:37926 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755975Ab0ECVqj (ORCPT ); Mon, 3 May 2010 17:46:39 -0400 Message-ID: <4BDF4407.8000503@zytor.com> Date: Mon, 03 May 2010 14:45:43 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4 MIME-Version: 1.0 To: Avi Kivity , Suresh Siddha CC: Brian Gerst , Dexuan Cui , Sheng Yang , Ingo Molnar , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: Re: [PATCH 1/2] x86: eliminate TS_XSAVE References: <1272812038-32484-1-git-send-email-avi@redhat.com> <1272812038-32484-2-git-send-email-avi@redhat.com> <4BDDBA18.3080909@redhat.com> In-Reply-To: <4BDDBA18.3080909@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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