Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp125038iob; Tue, 17 May 2022 21:03:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJhnlpkyEZ6bDDsgSli7qSCD0o+nsDnyyrOAWB0ot5fGbWw1FbZhr0Lhb62DBTVafC8lQ6 X-Received: by 2002:a17:902:c7cd:b0:161:8b6f:73c3 with SMTP id r13-20020a170902c7cd00b001618b6f73c3mr10603846pla.156.1652846602746; Tue, 17 May 2022 21:03:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652846602; cv=none; d=google.com; s=arc-20160816; b=Q9rZW2A7e3OS9rsJ9gAarWU/36Elsr8BeKNBz4FhjVij+YFpzoMbvLjqJTWY4U1Dsj /GMIuOhgY7/cQuYcukBbIxA/gcQ0ZoEQtVBJhNisv9VjG21K09qGBCn5D/E2Lw3BHKZs YvdnIbXRPmEDCIjiXXijjnU8jOEfoL26rvKQzWEjX4+PrlYolwhvQc+62fNVWvu2I3rN SI42H9tWxGazlfy6aUIPry03zOxnA1H0zEIsyYCaXK66i+ppT2xZyMIdx/ZHZDb/Qdw4 wYkwKo6w8fg/n1ZhLyZMHp0Fg1mJH+4uMYZS4zXo/qtcpUyQBfzvM4zVRV/ii0VXNoaD n+Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=7zNWIkf1NVNOMv0xDUR/sLpn0NFkvuft5vVxjbu2btM=; b=Q+1l613Lt3FbDkztCtJbP+X3/yOmRWBV5R3VbKhjq1YpLSzFwMJ9uRzGGhXZcFqh7/ 2mZ13qFxZHuanQuW3EngymU02rhFw0dnIcM+zs6Rl8Q7QaEDeui778wBzoYW2tNtrbCr 3Jv/NaKkw4dc2pUm5d/3GmkxecpwSHN5YsQVyWzlA+RBAMDCtTSMoWe430smE6sAH12f Cplki3tOz4tFsykT0QR4T6jIGRGp6mJRCNAapFVhkAFNiypgZoZKzVIFjdkG0UTk9WA+ jAgx7vFhTruizR5ZKoFXrSBKlVduNYZsEYRslZc95qnJ2uVU3YUBWFho/2LHexoPhtPg RzEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=V05TyuaJ; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id u12-20020a170902bf4c00b0015862deeb9dsi1240981pls.117.2022.05.17.21.03.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 May 2022 21:03:22 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=V05TyuaJ; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5D268719F1; Tue, 17 May 2022 20:38:24 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1350913AbiEQQdJ (ORCPT + 99 others); Tue, 17 May 2022 12:33:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230033AbiEQQdC (ORCPT ); Tue, 17 May 2022 12:33:02 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F6D43193C for ; Tue, 17 May 2022 09:33:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652805180; x=1684341180; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=Qe4LIFT49VN/IVvl50czFXImIVyT8V7bld71clAHhnU=; b=V05TyuaJgBOI2mwbqNnxbrmscp3IrNngRio6hFVbNf+rePj292p9EEh9 dE/DbnUfR0TxGcOx9kkZTShn9uaoP+KZqjjhayVQ12ISnfLQRjfaGrh6c yXVBnm7EhNE09q/mKgbd8GFM0z29HN/K5ddJJNGuKbgzeuXu4zxQQdiER M5Gf14ucGRzuadJoxVOA4s5DTYy7eYTIYzDsX+dTvfd0epvyFOXjsZuK+ XgbyibfErAe/3VvxYYkr8rr8l7Ecfc/PbgjUylVzM3BzEwnc+ukUzel1D PxAnDxAbFNQtRDQfflzg30mXO6uYryyzUXhhoeIgXvAo/NVCQPyTEW25M w==; X-IronPort-AV: E=McAfee;i="6400,9594,10350"; a="270932050" X-IronPort-AV: E=Sophos;i="5.91,233,1647327600"; d="scan'208";a="270932050" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2022 09:33:00 -0700 X-IronPort-AV: E=Sophos;i="5.91,233,1647327600"; d="scan'208";a="597222799" Received: from fyu1.sc.intel.com ([172.25.103.126]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2022 09:32:59 -0700 Date: Tue, 17 May 2022 09:33:28 -0700 From: Fenghua Yu To: Stephane Eranian Cc: linux-kernel@vger.kernel.org, reinette.chatre@intel.com, babu.moger@amd.com, x86@kernel.org Subject: Re: [PATCH v2] x86/resctrl: Fix zero cbm for AMD in cbm_validate Message-ID: References: <20220517001234.3137157-1-eranian@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220517001234.3137157-1-eranian@google.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 Hi, Eranian, On Mon, May 16, 2022 at 05:12:34PM -0700, Stephane Eranian wrote: > AMD supports cbm with no bits set as reflected in rdt_init_res_defs_amd() by: ... > @@ -107,6 +107,10 @@ static bool cbm_validate(char *buf, u32 *data, struct rdt_resource *r) > first_bit = find_first_bit(&val, cbm_len); > zero_bit = find_next_zero_bit(&val, cbm_len, first_bit); > > + /* no need to check bits if arch supports no bits set */ > + if (r->cache.arch_has_empty_bitmaps && val == 0) > + goto done; > + > /* Are non-contiguous bitmaps allowed? */ > if (!r->cache.arch_has_sparse_bitmaps && > (find_next_bit(&val, cbm_len, zero_bit) < cbm_len)) { > @@ -119,7 +123,7 @@ static bool cbm_validate(char *buf, u32 *data, struct rdt_resource *r) > r->cache.min_cbm_bits); > return false; > } > - > +done: > *data = val; > return true; > } Isn't it AMD supports 0 minimal CBM bits? Then should set its min_cbm_bits as 0. Is the following patch a better fix? I don't have AMD machine and cannot test the patch. diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c index 6055d05af4cc..031d77dd982d 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -909,6 +909,7 @@ static __init void rdt_init_res_defs_amd(void) r->cache.arch_has_sparse_bitmaps = true; r->cache.arch_has_empty_bitmaps = true; r->cache.arch_has_per_cpu_cfg = true; + r->cache.min_cbm_bits = 0; } else if (r->rid == RDT_RESOURCE_MBA) { hw_res->msr_base = MSR_IA32_MBA_BW_BASE; hw_res->msr_update = mba_wrmsr_amd;