Received: by 2002:ac0:e350:0:0:0:0:0 with SMTP id g16csp164731imn; Fri, 29 Jul 2022 03:19:16 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sM51uITN0eTSOOW6cLkJFBIWfRSKV3nsGB9/Ejye0PH3aAgidBQtjkh8QF1uspRXqcJLBm X-Received: by 2002:a17:906:794f:b0:72b:1346:85a3 with SMTP id l15-20020a170906794f00b0072b134685a3mr2265074ejo.259.1659089955968; Fri, 29 Jul 2022 03:19:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1659089955; cv=none; d=google.com; s=arc-20160816; b=AWpP1OvhKckwL+ZBztDwT5Az62MGId52YnU4J/2dTZdHxOz6lp3z6L1TP0CR32Oyuk Kz7oFxCqLP1qsuj23tKmfyZli1thhS68EG/4oPLGWozR0kakVgZdUvXj+RtqWaxezArJ /9Gto0N6zHcuzbxr3LDmo2j6xauz+/R8hu6sCal4Ycu0B3CIZEydRT3cTFnXD80JE/L6 bMFOHJbFZPBTBkF6W2kuuMp5Ew0z2aEZ0pc4Uo1Ewbe2Zf0P+d5T/XKq0Cg9WRLcTcb2 lONld1RdYXjEFV4s0KEg6YrQbBkrKVBdYvaECDO9yodF8c3T/RKHYGPPFY5TLOpzg6Li vY8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Rjw3O3Rv41IDiYO2LYrDGXYJ4Gu7rHQ6APO8lcMlKKM=; b=D/KCse3MlWxd9zwtPj1rX4mkLO5OmqewIPgVsYQqNiO/HHND3z7McdKWYG6GiMDZev rNmIoZqLQz35LU01f5mwNdLITF8jgpJehhziMJqgkHySHFqCdsJ8gACYH4qRPUQjBlMf +GMArjI9yYSq9DHY7eshastaiFXcSodwDstUqNjzwsUt90gTPzkvsxlV/c/zM6wGeSml 3PgzWXdxpQlCkkOUW/hw7W1BbLdeQp8vGBSn6VTbEPdLmoQV+KjA3xyEGEG7tvgtV/Qp o2F88OdvE9iCOoy/w/CDOEHmxeT3eIgv7CaZqR/Y7bJyvbU0dYJ2mJcsgo0pOtNzrKoX YjjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=W4df7bcj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w4-20020a05640234c400b0043c07d1df92si3443186edc.118.2022.07.29.03.18.51; Fri, 29 Jul 2022 03:19:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=W4df7bcj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234462AbiG2J4N (ORCPT + 99 others); Fri, 29 Jul 2022 05:56:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229572AbiG2J4L (ORCPT ); Fri, 29 Jul 2022 05:56:11 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78AB839B88 for ; Fri, 29 Jul 2022 02:56:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659088571; x=1690624571; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=hd4yBeblcxQsVx+6FcSZN/wuJ4PAllghkJOygeOK/VI=; b=W4df7bcj2ByLeJb+pUsvmby/QejMfrx+YRZwXFkXliqwjIzIFT+egC09 3qnpKWSvwOV25GRFbx1LHY8vVY7FC8xBlLn/oyQd5mn1YrpS14x54tYv+ R8B1/eTUrPIvRKfdVnc1vhnuv369gQ7WERDqgAPhZzdNgCBMQz8AoGEoc 6eD7spWEME/AdFPkdYc81t7IZEIkZGi2tMIEVGWla7zX9ntnVHQErfSYR l0dNDB/5TRAySUOy9g7Y3sTwTvsuct7LanhJcBD8AA7xMVQHJFKfZEDjj Sm908N4UtyRMzRvLlVWXarw85TaXIRzK+RS2M4aIvq3u35Ep1h1pFMVdv Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10422"; a="375036989" X-IronPort-AV: E=Sophos;i="5.93,201,1654585200"; d="scan'208";a="375036989" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2022 02:56:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,201,1654585200"; d="scan'208";a="629315473" Received: from sunyi-station.sh.intel.com (HELO sunyi-station..) ([10.239.159.10]) by orsmga008.jf.intel.com with ESMTP; 29 Jul 2022 02:56:09 -0700 From: Yi Sun To: dave.hansen@intel.com, sohil.mehta@intel.com, tony.luck@intel.com, linux-kernel@vger.kernel.org, x86@kernel.org, david.laight@aculab.com Cc: heng.su@intel.com, yi.sun@intel.com Subject: [PATCH v2 0/2] x86: Add xsave/xrstor Latency Trace Events and Consuming Script Date: Fri, 29 Jul 2022 17:56:06 +0800 Message-Id: <20220729095608.1475138-1-yi.sun@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series introduces trace events which can dump the latency of instructions xsave and xrstor for x86 platform to tell when XSAVE/XRSTOR are getting more or less expensive, and get out the RFBM and XINUSE to figure out the reason. We did bunch of internal testing, compared several optional latency calculation approaches. We believe it can be a more optimized one. Also, the series introduces a script to consume trace log, which leverage sqlite3 to show statistics data such as max, min, latency and 97% tail latency. This series has gone through several versions of peer-reviewed internally. All patches have review tags. It's ready for review by the x86@kernel.org maintainers. - Change from v1 to v2: - Reword the comments. (Laight, David; Mehta, Sohil) - Rename all variable 'dtsc' to 'latency'. (Mehta, Sohil) Yi Sun (2): x86/fpu: Measure the Latency of XSAVE and XRSTOR scripts/x86: Add script to consume trace log of xsave latency arch/x86/include/asm/trace/fpu.h | 35 +++++ before submission. arch/x86/kernel/fpu/xstate.h | 49 ++++++- scripts/x86/xsave-latency-trace.sh | 227 +++++++++++++++++++++++++++++ 3 files changed, 306 insertions(+), 5 deletions(-) create mode 100755 scripts/x86/xsave-latency-trace.sh -- 2.34.1