Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5337373imu; Tue, 13 Nov 2018 05:08:33 -0800 (PST) X-Google-Smtp-Source: AJdET5eZjA2lg0l5x84scUnXYIKnPGn6p8+4rx0WMT4+NheuBcBDZ9u66XVKWopfS72zcqUCfHiD X-Received: by 2002:a63:8f45:: with SMTP id r5mr4686223pgn.222.1542114513628; Tue, 13 Nov 2018 05:08:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542114513; cv=none; d=google.com; s=arc-20160816; b=tDHlT5b+egR0A+zYz4GNDrcnOrl8KazJ3JyFUBYuxSllEVBvIp4aQ6h1O2w4NPIUYn FSUpwHOvcujPFtZjvfhYMJ8dZuNzN94/veW3oSBR4//gV6iLBUmGk1nfZ2CyvQGkle6I HODCbzYSE9kG/zG7SvU+S++tBsYR4FY8VI0BEI37UXtTT/sApUfNzFA1JO0/ywHZ/JFS W6RN06VlV7w+JLDEB2n7QJl0jR6xoQ5wK8PBsJ+2CuC4Mss5+lCFd55xTOMp/eNXOQ9I sNHWYPh7oPfdjYTwAurbfhNhCOdJ5UAmsyHCX2p5gLY/xFLtotX4TuftnaLz3mgMEFV1 uwCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=1CEzbaURa7DGHc0ToXuFe5oyFidodkO1pKuk7AlKn/U=; b=Mk3u2/FOJNZr5FHmDmQAAZifnLmpjhAc8VN5lehp0cQrJtS7T939+jYyOMxqnmt0li RpGf1jkJlmlHvhM1lEKCqXs3D5TLpwXnfJtK93ODkyaW927GDVFaKKC0erDVLV1ONJ1U 211/HyAvMDHgSeFnd5Gttxlzr7WhwM5tDQzOlDrQ5EffB7sN2Q4o1cB6RLjtm22qI6H+ z8jshjM1VEOYsWy/LAlMUX8U+yr7HjT35m/TH/exBjb4qPzzPqN2z+AznvyH2OwghRX7 gNsGNulsas670yFqWLD2s8+SN5gItxPego8sG+MOVNKuWMVIzadL8w84fQF3Ocb7w40D mUXw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bb4si2044381plb.322.2018.11.13.05.07.49; Tue, 13 Nov 2018 05:08:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733179AbeKMXFG (ORCPT + 99 others); Tue, 13 Nov 2018 18:05:06 -0500 Received: from mga18.intel.com ([134.134.136.126]:42560 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732728AbeKMXFG (ORCPT ); Tue, 13 Nov 2018 18:05:06 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2018 05:06:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,499,1534834800"; d="scan'208";a="107867831" Received: from cli6-desk1.ccr.corp.intel.com (HELO [10.239.161.118]) ([10.239.161.118]) by orsmga001.jf.intel.com with ESMTP; 13 Nov 2018 05:06:48 -0800 Subject: Re: [RFC PATCH v2 1/2] x86/fpu: detect AVX task To: David Laight , Thomas Gleixner , Aubrey Li Cc: "mingo@redhat.com" , "peterz@infradead.org" , "hpa@zytor.com" , "ak@linux.intel.com" , "tim.c.chen@linux.intel.com" , "arjan@linux.intel.com" , "linux-kernel@vger.kernel.org" References: <1541610982-33478-1-git-send-email-aubrey.li@intel.com> <657a9ee9-bb27-968a-34ae-e25df6c2fff9@linux.intel.com> <25dd33ee964f4de5ae33a1575e1bf47f@AcuMS.aculab.com> From: "Li, Aubrey" Message-ID: <2229f120-cb11-8f8e-f27d-eabc94457cd5@linux.intel.com> Date: Tue, 13 Nov 2018 21:06:47 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <25dd33ee964f4de5ae33a1575e1bf47f@AcuMS.aculab.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018/11/13 18:25, David Laight wrote: > From: Li, Aubrey >> Sent: 12 November 2018 01:41 > ... >> VZEROUPPER instruction resets the init state. If context switch happens >> to occur exactly after VZEROUPPER instruction, XINUSE bitmap is empty(all >> zeros), which indicates the task is not using AVX. That's why the state >> decay count is used here. > > Isn't there an obvious optimisation to execute VZEROALL during system call > entry? I'm not aware of this in the kernel, maybe you are talking about some optimization in glibc? > If that is done does any of this actually work? The bitmap is checked during context switch, not system call entry. Also, the flag is turned on immediately once it's detected, but requires 3 *consecutive* context switches with no usage to clear. So it could filter most jitter patterns out. I measured tensorflow(with AVX512), linpack(with AVX512) and a micro benchmark, this works properly. If you have a AVX512 workload, I'd like to know if this works for it. Thanks, -Aubrey > > David > > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) >