Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp128956rdh; Wed, 25 Oct 2023 19:14:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGd/KQkunY4dXgd6XMRUhp9/qQLSx5Y0ddsEaOkulOvMCKFXuHFyy+2raOGgZWqkumc49E2 X-Received: by 2002:a05:620a:2a14:b0:775:6726:7e77 with SMTP id o20-20020a05620a2a1400b0077567267e77mr20939291qkp.10.1698286474074; Wed, 25 Oct 2023 19:14:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698286474; cv=none; d=google.com; s=arc-20160816; b=MON5sVPtmwYjKHHH9vMlRcZjtc+H/04JEJFRH0Fr0h6v6G24fDX44MsezIz8zXxPQR 2FD5DIK+7CQoD9jPcN8UvKTpfm1arPLZYHuGVoePiCCXiaE2u7JaZIDKiCKNiCoOIXQS wX2JfLoubHvNd6Ta+FKioiMhCnsIwGlJ4SSnuM6hjpDLidNBMoVlm/loiV1axPK0Rahf 9z5/kSdrbElSelEMy5G6jivaZg4+dllqahTJwLeLUsWDioePTyOASipBVsCe3XeSXL0K r1McUKgS1Fs0u9rXbWCCXe6Li7m8/t+7+8t4ojSPUNeSxfgCY6SANuR6KqvLc+mYtdPP CeIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=YKelRIfbbGO/6IakyeqJHSitlPpOa1mQ13F/7P0551s=; fh=CkETTnIQAqG0CXR4e8A/WxjDzPdbyHIBcu90HmLosMI=; b=zbIsIAvpwQ9+3+TTPb/kdVBzotSNcHXT+W/4aF9L7V7kEisKyycbIto5KDuQoMYjXP 925OHo66XwgEeaGVQG+Og/6X4L1riYOgxWL9Q6JUfMhrsQ86R2r0SmTj9ExvUlf2CuN4 8nnDgR7ayIScL+bes0ppYvJaVRISRaUJPj1UitUVALV5WV1Po03yEcF8V9/wp+Rcp2zH gp0H6+Z+vX3+JRNn1lhvyHYfk6vpqVdwRrhjqOl+JXrxpPw1yxVICV4mgFC8l2RVX5SD a9bTluf4uRjNzGYjJUn6H6PP5rdNMNV0/4Gkh0HRaorX8oHCs5jE1QOQW1p3CKWRkDlP zLog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YK3ECjt6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id o144-20020a25d796000000b00d9cab90e17asi12725172ybg.405.2023.10.25.19.14.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 19:14:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YK3ECjt6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id ECF2680EBC88; Wed, 25 Oct 2023 19:14:30 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233231AbjJZCON (ORCPT + 99 others); Wed, 25 Oct 2023 22:14:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230409AbjJZCOJ (ORCPT ); Wed, 25 Oct 2023 22:14:09 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D9F0893; Wed, 25 Oct 2023 19:14:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698286447; x=1729822447; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=rJeotgt3nrNaf9y/6niWwn7vOnD7IEENGknl61i47RU=; b=YK3ECjt6eEemgEO1fNUAMCUBhH66ObwmucnEPrsCzobn6xMBO6xzvQjX buKpiya5kKgOqqLwd3Pgf9xkp3oHX0MPzoMWwTTJafeIsWU0pk1sYgO2T bXx4/6y3VcUTJwlxRybXprlHXHCqMuCb4dhQCuWEEXK9CTMmgkmPAaRcJ 8Uo6CuHyWa6oJTNyhTF1fbmQstLFXS3JigeckzpiwrsQhqwXaaKKGsNy9 P+0ZpfQvFSAfDWa3PgQTkZpbU1muxVf5gJQUawUos7UrWx3VHv6mkQ2DO xkvTM52e+mvLEt9r5EzikoiB4Lh7G87Ztg+fyticUOuM8dfFXE6lXuAPF g==; X-IronPort-AV: E=McAfee;i="6600,9927,10874"; a="390300529" X-IronPort-AV: E=Sophos;i="6.03,252,1694761200"; d="scan'208";a="390300529" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2023 19:14:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10874"; a="788325962" X-IronPort-AV: E=Sophos;i="6.03,252,1694761200"; d="scan'208";a="788325962" Received: from dapengmi-mobl1.ccr.corp.intel.com (HELO [10.93.20.184]) ([10.93.20.184]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2023 19:14:04 -0700 Message-ID: <99684975-6317-4233-b87b-14ca731b335a@linux.intel.com> Date: Thu, 26 Oct 2023 10:14:02 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [kvm-unit-tests Patch 2/5] x86: pmu: Change the minimum value of llc_misses event to 0 Content-Language: en-US To: Jim Mattson Cc: Sean Christopherson , Paolo Bonzini , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Zhenyu Wang , Zhang Xiong , Mingwei Zhang , Like Xu , Dapeng Mi References: <20231024075748.1675382-1-dapeng1.mi@linux.intel.com> <20231024075748.1675382-3-dapeng1.mi@linux.intel.com> <6132ba52-fdf1-4680-9e4e-5ea2fcb63b3c@linux.intel.com> From: "Mi, Dapeng" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 25 Oct 2023 19:14:31 -0700 (PDT) On 10/25/2023 8:35 PM, Jim Mattson wrote: > On Wed, Oct 25, 2023 at 4:23 AM Mi, Dapeng wrote: >> >> On 10/24/2023 9:03 PM, Jim Mattson wrote: >>> On Tue, Oct 24, 2023 at 12:51 AM Dapeng Mi wrote: >>>> Along with the CPU HW's upgrade and optimization, the count of LLC >>>> misses event for running loop() helper could be 0 just like seen on >>>> Sapphire Rapids. >>>> >>>> So modify the lower limit of possible count range for LLC misses >>>> events to 0 to avoid LLC misses event test failure on Sapphire Rapids. >>> I'm not convinced that these tests are really indicative of whether or >>> not the PMU is working properly. If 0 is allowed for llc misses, for >>> instance, doesn't this sub-test pass even when the PMU is disabled? >>> >>> Surely, we can do better. >> >> Considering the testing workload is just a simple adding loop, it's >> reasonable and possible that it gets a 0 result for LLC misses and >> branch misses events. Yeah, I agree the 0 count makes the results not so >> credible. If we want to avoid these 0 count values, we may have to >> complicate the workload, such as adding flush cache instructions, or >> something like that (I'm not sure if there are instructions which can >> force branch misses). How's your idea about this? > CLFLUSH is probably a good way to ensure cache misses. IBPB may be a > good way to ensure branch mispredictions, or IBRS on parts without > eIBRS. Thanks Jim for the information. I'm not familiar with IBPB/IBRS instructions, but just a glance, it looks there two instructions are some kind of advanced instructions,  Not all Intel CPUs support these instructions and not sure if AMD has similar instructions. It would be better if there are more generic instruction to trigger branch miss. Anyway I would look at the details and come back again. >>>> Signed-off-by: Dapeng Mi >>>> --- >>>> x86/pmu.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/x86/pmu.c b/x86/pmu.c >>>> index 0def28695c70..7443fdab5c8a 100644 >>>> --- a/x86/pmu.c >>>> +++ b/x86/pmu.c >>>> @@ -35,7 +35,7 @@ struct pmu_event { >>>> {"instructions", 0x00c0, 10*N, 10.2*N}, >>>> {"ref cycles", 0x013c, 1*N, 30*N}, >>>> {"llc references", 0x4f2e, 1, 2*N}, >>>> - {"llc misses", 0x412e, 1, 1*N}, >>>> + {"llc misses", 0x412e, 0, 1*N}, >>>> {"branches", 0x00c4, 1*N, 1.1*N}, >>>> {"branch misses", 0x00c5, 0, 0.1*N}, >>>> }, amd_gp_events[] = { >>>> -- >>>> 2.34.1 >>>>