From patchwork Mon Jul 17 13:14:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121306 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1106447vqt; Mon, 17 Jul 2023 06:19:11 -0700 (PDT) X-Google-Smtp-Source: APBJJlFfH1oXphmntkwzmmGpWxHCaRlqsiV9ozKkScgzDS2movV7lpSL/hwYy9IPTYUDyxDL8HDF X-Received: by 2002:aa7:c403:0:b0:51e:54d2:b52a with SMTP id j3-20020aa7c403000000b0051e54d2b52amr10422140edq.26.1689599951633; Mon, 17 Jul 2023 06:19:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689599951; cv=none; d=google.com; s=arc-20160816; b=Se5idTR8RM1lDYSbtTLWeaOEyylEnXk1p7LA5GLpXkfREjBor92Yk9vBI5XVs9yBIv yTk56zaA/7kwZTLgHMGaBuE0hmcDcZ6lwxHsmUSwbQxISYAKG3jR78WBIpgbp5ASLK5w 5XGCjF2LAe4rZcxs4bFngAsumECEhoU7dE4rTRdM90S+30DjV1z+Nkh0dVg3tEw6nrPs SziJEx9KnNnsWRwGCXes9ozlXFpTWOBL25T1uWnJNKJEwugQwzA+N2PsPEc3VEYskL44 0esKXGloSjfEGOihrGYhxiWZV/GFpmZmZ3JjRxieUQ/pIh8CqhxUwIvUeGXLBsWf0MxI hn6g== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=o23J2n0V1ZY/DWcf0/b0CIHEs35he1K3Pj5ZyW/TJvs=; fh=3KFcc/njgTGG7iglX91HYefIeot+DbOGCGLvQiyjv5M=; b=UlREsJxUmLR2Df8HWdkcUn53+4/W7IQFQgeE4rAVzE0/D4pFWP92FmAikd05cjwNx9 2CXIwKGY894BIMy4vBSQ3sUpthxtzECbSNzfA1UlG/9dpoKaCNUbrzCpzg2TN+yygkLH gzuOFZ1Q0ZSYQwjivTCCuSYwTRWVTh//Y0p1U+RJrF/crW1ta+mH5VSj/ENggiL2NnPX QT1JaeYmHalt5hKJ0WB/FT74K6R9EtDkxA57p7TDIvoIKnqyHP0acVhnmnudq8fLRtDe G/JJrnYg+0AhI6YFVPFm++faNLzcobdp+ubnTa1ddBJ+k1SOV8tgnwDfxg9xe/Nlw5hO o64Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="QaaVK/M+"; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d2-20020a50fb02000000b0051e0d8c614fsi4344636edq.567.2023.07.17.06.18.45; Mon, 17 Jul 2023 06:19:11 -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="QaaVK/M+"; 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 S231308AbjGQNPb (ORCPT + 99 others); Mon, 17 Jul 2023 09:15:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230253AbjGQNPY (ORCPT ); Mon, 17 Jul 2023 09:15:24 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7682194; Mon, 17 Jul 2023 06:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599722; x=1721135722; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lK+fNz+KVwzS2wg2GQh+MHm6HXuFlGgYU4nvO5M9knQ=; b=QaaVK/M+R0GHK8xCAJhedWnuyYYykQE90iQnF/ufmxjJsjk8ZceNx9cL ZhwVrVC7fKcaPYSCk5qXb8n7SuQWbq1W2gux+xjIrbjYMAJ6YLQDQPr9z sDuN8aAgxU1e5qiQSr3f0M7gas3sXiAXrs/jUPuT9yZUY3JcE1Icj46Hd sqLdRNV23H6j/fXJbzsqdNQKuo6CmLpaZyvpk/Ae8c/sNt86orJtJt7si UfHAkB/QFoAueLtXtpkPRXb/FPshgCWjkPnz0i28zWlWtzQF+u9IGokue EGQQTENlT4hl3FqnosPpK45WKwGGZ5DoC4MKr1ya0znORHnevCsdnczP+ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568812" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568812" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246686" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246686" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:19 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , Babu Moger , Sai Praneeth Prakhya , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 01/19] selftests/resctrl: Add resctrl.h into build deps Date: Mon, 17 Jul 2023 16:14:49 +0300 Message-Id: <20230717131507.32420-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771673958738116051 X-GMAIL-MSGID: 1771673958738116051 Makefile only lists *.c as build dependencies for the resctrl_tests executable which excludes resctrl.h. Add *.h to wildcard() to include resctrl.h. Fixes: 591a6e8588fc ("selftests/resctrl: Add basic resctrl file system operations and data") Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile index 73d53257df42..5073dbc96125 100644 --- a/tools/testing/selftests/resctrl/Makefile +++ b/tools/testing/selftests/resctrl/Makefile @@ -7,4 +7,4 @@ TEST_GEN_PROGS := resctrl_tests include ../lib.mk -$(OUTPUT)/resctrl_tests: $(wildcard *.c) +$(OUTPUT)/resctrl_tests: $(wildcard *.[ch]) From patchwork Mon Jul 17 13:14:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121326 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1121445vqt; Mon, 17 Jul 2023 06:46:34 -0700 (PDT) X-Google-Smtp-Source: APBJJlHXwBj670WHvflBskcZdNtY6p50f3NL1p1n7qe3wRkfoTDDpVcIKlSJDrWWkKUrjyd3VapY X-Received: by 2002:a17:903:228e:b0:1b8:870c:4ce8 with SMTP id b14-20020a170903228e00b001b8870c4ce8mr14076909plh.18.1689601594372; Mon, 17 Jul 2023 06:46:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689601594; cv=none; d=google.com; s=arc-20160816; b=QcLDXIAbKmWm2+DZpK1UcQFb9+59IGzr6Shlq3c095W4hDHdU4DD9L0apPhSEPmFgb MtvuxVXaBbQ8cvBbhNiCUifY+NKgezJbVhSWLQRMUkE3+QKG+73BhNHskul72slTB1zI 8bLWW9tivHblh/xMcelbT3S62XK203Z3MwKVOJnVf0Pnohb+0Hx2h9P8jmTYvpYICKT0 i/mSYAmaI3dM2nSEdNvnP3h26UqqJiyHOB4P1qePNQgv6uC5+p0PdGHSXDXz79E76+u+ VUhX1y32SfoZ43dUk5pf2kZDbjplHygwvAYnZ0xKJvTEfIA3ENmtx6a6W3rZ+PsQmJqK ncOQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=SV3iA7Poeq9EqdDxdkZrrofng28wfg847ekJPDD7sk4=; fh=a0GSkBb/k1TjC4qQY/PrLt3+45ipVXZtzYav+yxqeIw=; b=Ur1GeSOrgjh05PFGycUhjZ+LgU21JaWXeiEeoeNbBOJF8PXIJvpHwjYDpPZHYFbihj 1Zy0/JkKLR2abdXqXju2QBxYZkZmKb1fRHFAFiEvv9iXQuet0vUAU8Q2nW23W+HYuGud r+MX0z1D7Ndj2GhsOnow8C6Hz24ImkXnwp4jXmKPEntPjJLb+dKrW/yA4zlkdCosFXw3 N297I0aAL8VrXgIXCLvEYdTNSWeORdifJ7kttnx3QI3/cdRMXnc6jLLKRHmuOgApJeJ1 ue9tE20l9u8jlPKZpsoxgIex6+kQTAmwrL6TahFYgQ9/Uj/t3Ou8J0cIpyINqTKg1Zc2 XbqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eicNJvCp; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t5-20020a1709027fc500b001bb3135003fsi1587262plb.161.2023.07.17.06.46.20; Mon, 17 Jul 2023 06:46:34 -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=eicNJvCp; 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 S231464AbjGQNPk (ORCPT + 99 others); Mon, 17 Jul 2023 09:15:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230324AbjGQNP2 (ORCPT ); Mon, 17 Jul 2023 09:15:28 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EF0910D; Mon, 17 Jul 2023 06:15:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599726; x=1721135726; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=c6wy5EseuZzIYCIuEismdoJnu3cQnBT/NnF9R1DU9nA=; b=eicNJvCpHk+tmwz/h8RJ1fnFlnQO4HqAUsM60lLpNNHFR8R72qhAWvit 6ljNWtPqmyp5bxEBEpSUFSDqZfKQm2L3aJ9wYTMTeZAkxgG+soTos2IPa F+rdOM//nQXhnDKflmyQ9C7kHHXm3qlRuEpsvVIMrlaLA9cgj8QcbNaqK yqOOVzdV0AOzZkepLsEf8z1fJQwS2ngq+aYNk9j3q0rtTI3NqFBQ94rC9 PfzgHrQc5gVLDQOlef4kU/4muqQZknHDJ8PTqKJfVAQV83pEcmGphYUAs 85CKLvCKsXV7r1VQ+9SXp5q0WvUgFOResKvXHefPwrNZdhsw70cwuAAC0 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568830" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568830" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246707" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246707" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:23 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , Colin Ian King , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 02/19] selftests/resctrl: Don't leak buffer in fill_cache() Date: Mon, 17 Jul 2023 16:14:50 +0300 Message-Id: <20230717131507.32420-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675681238291350 X-GMAIL-MSGID: 1771675681238291350 The error path in fill_cache() does return before the allocated buffer is freed leaking the buffer. The leak was introduced when fill_cache_read() started to return errors in commit c7b607fa9325 ("selftests/resctrl: Fix null pointer dereference on open failed"), before that both fill functions always returned 0. Move free() earlier to prevent the mem leak. Fixes: c7b607fa9325 ("selftests/resctrl: Fix null pointer dereference on open failed") Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/fill_buf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index 341cc93ca84c..3b328c844896 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -177,12 +177,13 @@ fill_cache(unsigned long long buf_size, int malloc_and_init, int memflush, else ret = fill_cache_write(start_ptr, end_ptr, resctrl_val); + free(startptr); + if (ret) { printf("\n Error in fill cache read/write...\n"); return -1; } - free(startptr); return 0; } From patchwork Mon Jul 17 13:14:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121308 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1106502vqt; Mon, 17 Jul 2023 06:19:18 -0700 (PDT) X-Google-Smtp-Source: APBJJlEFEh+wGeDDmP87jtgtV3Kl9SAA9xQWCNX9mVezDbPa0daKmoarWoU80x0IwLnpOxIDDXaB X-Received: by 2002:aa7:cc03:0:b0:521:9e79:28f4 with SMTP id q3-20020aa7cc03000000b005219e7928f4mr312716edt.12.1689599958380; Mon, 17 Jul 2023 06:19:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689599958; cv=none; d=google.com; s=arc-20160816; b=oJYHyhq9bXHtVadWc8U127SgHw4jQdhyOaq0q/Tb1NcqD7O+Q3G67EGxTpSyqxtuzC /Ujr7KpUZyvl7x8lDUJA1QgYXhWmZSdVoMS3e9u8DRtzQtivT0cuV7N0IKejMtjUZLv3 8SKu/+JKlPCdVRF1ZzVI4AWb9bhTd7dEI/xIdDkpdX28fzSfMARuFSnpDHVmS3qb+vew f/9mu1Zl51qdcEOEIfx6hGuq62qhHgRW5fvSXyuBppBgY1RT9amxie9dWCrvXLhr98nI n0yiZ5y0AgufnJET09zl2jq7rM23afg4igZIp+kwDbSacht2QNRiD7kFxERlpknRQIL0 L+ZA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=tisjX8UZnL0Bki/PrpmFrPL0tkJ24Y0N3cG5OeC23xk=; fh=3KFcc/njgTGG7iglX91HYefIeot+DbOGCGLvQiyjv5M=; b=QJURYuqJ4WEtux5+30FmuJu8RWdYl2/cpGauuOlcV7svfBLF3HMWsUyJgrgr3vadNL hmEZ+GKapO3pTVj/xLlVU3EeMZrH8v2jZ15XOd+EdsvoiRg1Fx5WijdCuWWjZNyC6cmb kOaJXscUFgqv3qgiiPR4MtJRJexS5InG8bRJOyubWBS8hCeG+BmOME51b54L+xZwmf0a cA+M0VhFfNhubXWx/xqxpwcIYCMOLTRq8ucSmDpxlNgwRcInhBowYLN0X7KrYtKuZsNq D8Vh6g8Osu5B1bg3dknGPMRZFTXdnsgiyKLoeaC+BVtu0YyzFNztBGDFvgcrcIThDM2e CixQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=SWEJwu+0; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d8-20020aa7c1c8000000b0051e3d143815si5753094edp.560.2023.07.17.06.18.52; Mon, 17 Jul 2023 06:19:18 -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=SWEJwu+0; 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 S231552AbjGQNPy (ORCPT + 99 others); Mon, 17 Jul 2023 09:15:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231126AbjGQNPl (ORCPT ); Mon, 17 Jul 2023 09:15:41 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42CF794; Mon, 17 Jul 2023 06:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599730; x=1721135730; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NHwxeGZmRaqtiPuIGz3C8d+Am2s2/WThr8AS9rsrtY=; b=SWEJwu+0lzgiGqZbmXiqyqgQIxNKyOj13PXBh+yWQWX3fhWkBZajB/ni fhk4qeD3r6Ozs4CZ7U/CmjMGJu38UfJdECFmGZvfltJ2/NKxUUllY3jKO XtQk0fBJIA8aa2xBCqXA530+d4rO9RfzTOXWVgaVqAXUxTK/oQ8cMp7LX 6lA8X1orUOw0jwdDwGJbyzVGhR8ENDr+gfL/VH+DmnZha1bQfqir7JpC6 qwMX4sGCcDsa2ECiJPgPun8HHu13bwqrC1ZbJiuUTDNVwpRDI5Qfoaoed 2ovkkWfUmMsMd4aChkPgUQkXarXuFxm8SjHOtFqtnGkY/P8Wp77eetBZB g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568843" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568843" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246727" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246727" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:27 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , Babu Moger , Sai Praneeth Prakhya , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 03/19] selftests/resctrl: Unmount resctrl FS if child fails to run benchmark Date: Mon, 17 Jul 2023 16:14:51 +0300 Message-Id: <20230717131507.32420-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771673966037570315 X-GMAIL-MSGID: 1771673966037570315 A child calls PARENT_EXIT() when it fails to run a benchmark to kill the parent process. PARENT_EXIT() lacks unmount for the resctrl FS and the parent won't be there to unmount it either after it gets killed. Add the resctrl FS unmount also to PARENT_EXIT(). Fixes: 591a6e8588fc ("selftests/resctrl: Add basic resctrl file system operations and data") Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/resctrl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 87e39456dee0..f455f0b7e314 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -43,6 +43,7 @@ do { \ perror(err_msg); \ kill(ppid, SIGKILL); \ + umount_resctrlfs(); \ exit(EXIT_FAILURE); \ } while (0) From patchwork Mon Jul 17 13:14:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121328 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1121987vqt; Mon, 17 Jul 2023 06:47:39 -0700 (PDT) X-Google-Smtp-Source: APBJJlFo0VAQzsFTKo+GvzpF9xbpeuZ9AkzYCHPPNzcQMq/i5/o6nT59JItlF/nGYawiiztkG4ql X-Received: by 2002:a05:6870:1496:b0:1ba:1998:c11b with SMTP id k22-20020a056870149600b001ba1998c11bmr10450354oab.55.1689601659205; Mon, 17 Jul 2023 06:47:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689601659; cv=none; d=google.com; s=arc-20160816; b=pz9S5mZdqWh8Pt/H8uJT58Rf1s4BulMIGHNI9IKBoAbOEMV89nmz8RdcQU9t6uFjBi hsygrhbdzea+xF54V2ulXwghysf93uGmetnOCcTwWhT1pjVJCgOBnEPJwYApy4NZnBh9 47WCb0EUbFiT+lWUcNteeFvNiWnm8HwB0/DIxQCqnUUNGQFFHHeYDMyrsCpOt737dJT5 b4Z4IrIyXDDeIG9CG47bzftCiWzk2FjAKRffVCz7C44+2bnCrkShJboixAgWJsmllyOv lfYbE7fim57/Pb5NOqbM+gtRApU8mwVUrJwuDcFecxZcsrvXwe7DEzsW++ayBJgIxFm0 UtJw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=retZcCrXDyOiD3Rqs7cli75idMclmmBujON3pqbMgIQ=; fh=3KFcc/njgTGG7iglX91HYefIeot+DbOGCGLvQiyjv5M=; b=nE6LQrKDXVvXE7qYQugfXByCqLqU4lEdgo/gQCTH2ePO4bnAbX2eqoKn9/c75VLX8W uKK8CHEGmrgcj63I9J/2j0IsjWoAy/Oy20t+NulDub4K7R1z+cuo5t3v5uGi6QvOrHVR vtkiwDmOD5DK1Zp6mFtRGlpdQP+T5O3OolK2M7G5CZZAEFev3JfQkpwPRB2YihouFe5D RKvuHpIv8FB4ozUBOICUrCNOIKEc9I/UEoPl64YEEWa3fJhghPMUb87sTkF8aVPC/K3J BcV3sup86dIFKUHNFoujtITHyKiIXr28SoLxCoEqKC7kNwwqlpBLUIfa/OeaIrDY+c9N mQPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MX5gunKc; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w2-20020a637b02000000b005600a533c77si1128318pgc.182.2023.07.17.06.47.26; Mon, 17 Jul 2023 06:47:39 -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=MX5gunKc; 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 S230324AbjGQNP5 (ORCPT + 99 others); Mon, 17 Jul 2023 09:15:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231489AbjGQNPo (ORCPT ); Mon, 17 Jul 2023 09:15:44 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0F95170A; Mon, 17 Jul 2023 06:15:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599733; x=1721135733; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=utpy5BGCIvPzFA+bsfhON0Cfks9MPvt0T8AGQrfu3OI=; b=MX5gunKcmkqW1YCmEXWnWfbPK3d62rcHtnUTav0iyPDQbAfAW6NCl5KA mAqmuhPJYTyDKy8f3TQikcQBNZuAp6pEbKdwwtDSGOnqqGOCfvdPXELZW o1kZ5BGSXkrYrE0mtA75ILrPy8nnhEf4+KQS+lERelzlk9cKsbslGgIEZ gRx3ZujRViYDURsRA+TLaXXgd4D6QN7H1uYVOPU8VJZu+xD87bFRlNo/l RP33a3yqXMTbMWjIMJuQQ59z1EMEj9SUM0EwF2JdfGaeLw5VQLvkYckql 5APvsdDGWW35/jmhM3+FgTG+kJNyERe5BFmsNO+mdsTmOrQXiPFJqdwDJ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568857" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568857" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246749" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246749" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:30 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , Babu Moger , Sai Praneeth Prakhya , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 04/19] selftests/resctrl: Close perf value read fd on errors Date: Mon, 17 Jul 2023 16:14:52 +0300 Message-Id: <20230717131507.32420-5-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675749482641909 X-GMAIL-MSGID: 1771675749482641909 Perf event fd (fd_lm) is not closed when run_fill_buf() returns error. Close fd_lm only in cat_val() to make it easier to track it is always closed. Fixes: 790bf585b0ee ("selftests/resctrl: Add Cache Allocation Technology (CAT) selftest") Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/cache.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 8a4fe8693be6..289b619116fe 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -87,21 +87,19 @@ static int reset_enable_llc_perf(pid_t pid, int cpu_no) static int get_llc_perf(unsigned long *llc_perf_miss) { __u64 total_misses; + int ret; /* Stop counters after one span to get miss rate */ ioctl(fd_lm, PERF_EVENT_IOC_DISABLE, 0); - if (read(fd_lm, &rf_cqm, sizeof(struct read_format)) == -1) { + ret = read(fd_lm, &rf_cqm, sizeof(struct read_format)); + if (ret == -1) { perror("Could not get llc misses through perf"); - return -1; } total_misses = rf_cqm.values[0].value; - - close(fd_lm); - *llc_perf_miss = total_misses; return 0; @@ -253,19 +251,25 @@ int cat_val(struct resctrl_val_param *param) memflush, operation, resctrl_val)) { fprintf(stderr, "Error-running fill buffer\n"); ret = -1; - break; + goto pe_close; } sleep(1); ret = measure_cache_vals(param, bm_pid); if (ret) - break; + goto pe_close; + + close(fd_lm); } else { break; } } return ret; + +pe_close: + close(fd_lm); + return ret; } /* From patchwork Mon Jul 17 13:14:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121312 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1111089vqt; Mon, 17 Jul 2023 06:27:58 -0700 (PDT) X-Google-Smtp-Source: APBJJlGVKq430khUxFXtgTOrvCj14abERKBc8x2DiOMkmZPAs6JutevLj+R//mKbnF6iL+Ig1YG0 X-Received: by 2002:a05:6a20:72a4:b0:133:f5c1:57bb with SMTP id o36-20020a056a2072a400b00133f5c157bbmr9671150pzk.20.1689600477974; Mon, 17 Jul 2023 06:27:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600477; cv=none; d=google.com; s=arc-20160816; b=hgXLwJM34EV7SrjCMeBIY5DtfAkff3QFgeZSOUEQIjJIlKueBeddT/wGuBv3cKPnYa cmKD1j1EJkzmEhyraT4dnKLFhqkrxDZzHMIjCqgpCjJUbNgMMVwDz9Pomw7lvifuce10 HIK3wN1PGwet2z8TMZgHUGGz/LFybXOxkN9N9N6dBtSJFDdvSl0HZO0duBJbTAqJ2Pjr CrelwbMHhAd1Yt8GdiprB39JA48KdN69bN+txuLXwXuuETr7DFWKnLuaUW7yBHoawNOw 8/OsrziW1/+U7wNBVImPnEpLeWmUeT2sgQPrI43qyKKPPC9U1eR+ZTgFelMdc3dwhgg6 xGuA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=rzA5OMWPc89fc1i6pGm58NfxFnFmVlMbj3GYDdsZJV0=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=XKmQRISjJK828pjKD4cb6xYYkRj8aHHISajrxYTU0uqyat0RE+dtzpcug1cqWnvcJW f9B43K0jY5BxXVbVvOpjid7OoN9TnDar+X5dKUqSYRmB6qz6vPrYXaS8Q1Fi4/jNCGOR YJdd88z2SaumGK/gJ7sKZhnTygD6YUdFbhsJgNLNqFiBAJJH4ImRJGigQrZHI6WyL9+t GI7VVLM/lQnliUZrKwdkRYZYAVPndi3qc2gszj6NVtFkjLCwnrGjNFio2mlqbh0ujLqh bvRCsb45wpcMz3KeXgEdQG63Nemomm1ApMVFTLx659EtgSNbkA3bAFCVy1FMHsmI+UaG 26QA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XEfhWMWW; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w67-20020a636246000000b0055c79555b97si8287123pgb.876.2023.07.17.06.27.44; Mon, 17 Jul 2023 06:27:57 -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=XEfhWMWW; 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 S231519AbjGQNQH (ORCPT + 99 others); Mon, 17 Jul 2023 09:16:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231481AbjGQNPu (ORCPT ); Mon, 17 Jul 2023 09:15:50 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F4F21985; Mon, 17 Jul 2023 06:15:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599737; x=1721135737; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gxILP+jHMTJazW2ff4rfv0rjrW3z2H5FuwKbGzXQHQg=; b=XEfhWMWWsFteQpffFEDpLJu6QfSvcVj7wJA06wZh2lO2c25E2cgblJJg R8MgizwCR4k6LkkN+Aug5noof5yyJQi9+rsC9hL9gO697wqf7H9VRZazQ PsXaZ0uuQ64B4jbWzrhjZxEoOlRsXcCwwe93n9N64w0TeJG1VXGPKClL8 4Q6T4zSvKjZBUxuRVvcdeco12rHIcO9Bd8107YP0KE+Nd+hViRY29GGM0 KHkfjadHcM0urjv86VGfsByT6IpNQ3b0vcMYn+Mfp8gXt0jjo2EuF2bow BdHDTdG4VnCQIyNci6nyygV1jCkL7YllI3J4mbLOkem2eVA+pVglSkuUy w==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568868" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568868" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246758" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246758" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:34 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 05/19] selftests/resctrl: Unmount resctrl FS before starting the first test Date: Mon, 17 Jul 2023 16:14:53 +0300 Message-Id: <20230717131507.32420-6-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771674510821569441 X-GMAIL-MSGID: 1771674510821569441 Resctrl FS mount/remount/umount code is hard to track. Better approach is to use mount/umount pair for each test but that assumes resctrl FS is not mounted beforehand. Change umount_resctrlfs() so that it can unmount resctrl FS from any path, and enable further simplifications into mount/remount/umount logic by unmounting resctrl FS at the start if a pre-existing mountpoint is found. Suggested-by: Reinette Chatre Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/resctrl_tests.c | 3 +++ tools/testing/selftests/resctrl/resctrlfs.c | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 9b9751206e1c..61c3882a26c8 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -250,6 +250,9 @@ int main(int argc, char **argv) if (!check_resctrlfs_support()) return ksft_exit_skip("resctrl FS does not exist. Enable X86_CPU_RESCTRL config option.\n"); + if (umount_resctrlfs()) + return ksft_exit_skip("resctrl FS unmount failed.\n"); + filter_dmesg(); ksft_set_plan(tests ? : 4); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index fb00245dee92..cf0c8dd34b8b 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -82,10 +82,16 @@ int remount_resctrlfs(bool mum_resctrlfs) int umount_resctrlfs(void) { - if (find_resctrl_mount(NULL)) + char mountpoint[256]; + int ret; + + ret = find_resctrl_mount(mountpoint); + if (ret == -ENOENT) return 0; + if (ret) + return ret; - if (umount(RESCTRL_PATH)) { + if (umount(mountpoint)) { perror("# Unable to umount resctrl"); return errno; From patchwork Mon Jul 17 13:14:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121323 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1119324vqt; Mon, 17 Jul 2023 06:42:35 -0700 (PDT) X-Google-Smtp-Source: APBJJlGDlo9g+HJokYe7yHLDtq+6RVtLbnwiK5a88QzytJiJXL3CQuPTSdN5KJFGBVVXXpWhE+/E X-Received: by 2002:a05:6a20:5492:b0:133:f5c1:57b7 with SMTP id i18-20020a056a20549200b00133f5c157b7mr9810955pzk.51.1689601354606; Mon, 17 Jul 2023 06:42:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689601354; cv=none; d=google.com; s=arc-20160816; b=yu+eyyRcQa/DvKC1uSPa9FBtns+skLYhZUpWZMjpQ8Cf89RI3c81QbG4q4hIiP1HwH 7PGaVdVItxHV9GgTO3dJ14DXtsXhjKpIww5U22/5BCezJN04IB6TplJDVaM3ZvlGmcP1 G+WXegudLRfGyvC0cuA7HYHLIkqVYFZ4X4X7F7OJ0UpDI48josttybw9jG5vgtIjukhJ IPUPkhNDfabZ2pdxSg8YfJhDbtWpzLRqye74uRevlvsNBBt34lE6Ls2SKxnfzc2pttSL zhs/STIfT2CAJf1+Gw1oh5x7aWb1pL5kvkGmPNWzakH1LABp+vQc4T4kjmYqp4mTpePl N+vg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=poFRUIb9uhxuQdQe87uro/WCrJiyZbQ3GW3JLSVpqO8=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=KG3eJkHNLIOVYPrAIBX0/UokJXWQZAcdJ+mP5oLZxzvzK1etQV14P/wmn8BDQBKHJ8 OCohBUC0/ErzGYaxTJJOdv4ES4yM3M6LtJXsKW1a4tJ+jnbqezuQX1a4Vt8zxmuyT8RY HwKTUyODfj3cRQXw6pre9P2URXGukPWTvFNDTGIi2vjDx90AyI/KYrGWGJFmEA0ZW74v i0/v6spay1SE8rQVJ/f54k8zanaBHNzk8WMWS45Z1/L7Fmqq1hclx3sSY9tnHwr1m4Kw Pn32yEuJ0Jt7IKSywboTi/IDJ4dyRGM1GyjUHqA+wYbSJqpPew36S0B0EWIqvMyvzWv9 l5Rg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KInvUx4A; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fi14-20020a056a00398e00b0067f03c85d73si11602141pfb.115.2023.07.17.06.42.21; Mon, 17 Jul 2023 06:42:34 -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=KInvUx4A; 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 S231548AbjGQNQO (ORCPT + 99 others); Mon, 17 Jul 2023 09:16:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231546AbjGQNPx (ORCPT ); Mon, 17 Jul 2023 09:15:53 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AB3519AB; Mon, 17 Jul 2023 06:15:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599740; x=1721135740; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TE/tTIMRVHsxZhOE7RDAsYTnNyMNB/i+FzF+hZ2C8+E=; b=KInvUx4A5kWErOD7iimjDMyA0iArdeypjJwjXdPdrO46bUsaBoGk7vJF 6Vngx02BO3GTGRgZ012vicw/qm+iISHWzNErqMxAp95Nej5B2dQY6goDt Nh1+L2dS3/di6zzt7zk+VYWtOiw6PUuG3g2rL0MdU8x26P3w2ZUexLKWD sgttg+Srw0I7dBauAA42EleTCYeF2N1kmZgiwN26XnvvkT2j1GUHDmOb1 mi2hYwNwaxWo8rqkiXOb+wy9PMLgpNtOeCKZU8CRR2elXOMUV6xAyYuqA fjgywK49pTg7Qs3g4uTv9imBERCGGttarfS1mTj1un1h9uANaNunTYvhV Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568891" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568891" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246769" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246769" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:37 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 06/19] selftests/resctrl: Move resctrl FS mount/umount to higher level Date: Mon, 17 Jul 2023 16:14:54 +0300 Message-Id: <20230717131507.32420-7-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675429786106702 X-GMAIL-MSGID: 1771675429786106702 A few places currently lack umounting resctrl FS on error paths: - cmt_resctrl_val() has multiple error paths with direct return. - cat_perf_miss_val() has multiple error paths with direct return. In addition, validate_resctrl_feature_request() is called by run_mbm_test() and run_mba_test(). Neither MBA nor MBM test tries to umount resctrl FS. Each and every test does require resctrl FS to be present already for feature check. Thus, it makes sense to just mount it on higher level in resctrl_tests.c and properly pair it with umount. Move resctrl FS (re)mount/unmount into each test function in resctrl_tests.c. Make feature validation to simply check that resctrl FS is mounted. As there's the final umount in main() before this change, the selftest should not leave resctrl FS behind after the tests even if one of the forementioned paths is taken (thus, no fixes tag). Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/cat_test.c | 6 --- tools/testing/selftests/resctrl/cmt_test.c | 4 -- .../testing/selftests/resctrl/resctrl_tests.c | 47 ++++++++++++++++--- tools/testing/selftests/resctrl/resctrl_val.c | 5 -- tools/testing/selftests/resctrl/resctrlfs.c | 7 ++- 5 files changed, 46 insertions(+), 23 deletions(-) diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index fb1443f888c4..e1c071dec1b0 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -106,10 +106,6 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) cache_size = 0; - ret = remount_resctrlfs(true); - if (ret) - return ret; - /* Get default cbm mask for L3/L2 cache */ ret = get_cbm_mask(cache_type, cbm_mask); if (ret) @@ -227,8 +223,6 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) out: cat_test_cleanup(); - if (bm_pid) - umount_resctrlfs(); return ret; } diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index af71b2141271..426d11189a99 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -86,10 +86,6 @@ int cmt_resctrl_val(int cpu_no, int n, char **benchmark_cmd) cache_size = 0; - ret = remount_resctrlfs(true); - if (ret) - return ret; - if (!validate_resctrl_feature_request(CMT_STR)) return -1; diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 61c3882a26c8..6bf4ead74496 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -77,9 +77,15 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, ksft_print_msg("Starting MBM BW change ...\n"); + res = remount_resctrlfs(true); + if (res) { + ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + return; + } + if (!validate_resctrl_feature_request(MBM_STR) || (get_vendor() != ARCH_INTEL)) { ksft_test_result_skip("Hardware does not support MBM or MBM is disabled\n"); - return; + goto umount; } if (!has_ben) @@ -88,6 +94,9 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, ksft_test_result(!res, "MBM: bw change\n"); if ((get_vendor() == ARCH_INTEL) && res) ksft_print_msg("Intel MBM may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n"); + +umount: + umount_resctrlfs(); } static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, @@ -97,15 +106,24 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, ksft_print_msg("Starting MBA Schemata change ...\n"); + res = remount_resctrlfs(true); + if (res) { + ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + return; + } + if (!validate_resctrl_feature_request(MBA_STR) || (get_vendor() != ARCH_INTEL)) { ksft_test_result_skip("Hardware does not support MBA or MBA is disabled\n"); - return; + goto umount; } if (!has_ben) sprintf(benchmark_cmd[1], "%d", span); res = mba_schemata_change(cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBA: schemata change\n"); + +umount: + umount_resctrlfs(); } static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) @@ -113,9 +131,16 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) int res; ksft_print_msg("Starting CMT test ...\n"); + + res = remount_resctrlfs(true); + if (res) { + ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + return; + } + if (!validate_resctrl_feature_request(CMT_STR)) { ksft_test_result_skip("Hardware does not support CMT or CMT is disabled\n"); - return; + goto umount; } if (!has_ben) @@ -124,6 +149,9 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) ksft_test_result(!res, "CMT: test\n"); if ((get_vendor() == ARCH_INTEL) && res) ksft_print_msg("Intel CMT may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n"); + +umount: + umount_resctrlfs(); } static void run_cat_test(int cpu_no, int no_of_bits) @@ -132,13 +160,22 @@ static void run_cat_test(int cpu_no, int no_of_bits) ksft_print_msg("Starting CAT test ...\n"); + res = remount_resctrlfs(true); + if (res) { + ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + return; + } + if (!validate_resctrl_feature_request(CAT_STR)) { ksft_test_result_skip("Hardware does not support CAT or CAT is disabled\n"); - return; + goto umount; } res = cat_perf_miss_val(cpu_no, no_of_bits, "L3"); ksft_test_result(!res, "CAT: test\n"); + +umount: + umount_resctrlfs(); } int main(int argc, char **argv) @@ -269,7 +306,5 @@ int main(int argc, char **argv) if (cat_test) run_cat_test(cpu_no, no_of_bits); - umount_resctrlfs(); - ksft_finished(); } diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index ab1eab1e7ff6..e8f1e6a59f4a 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -648,10 +648,6 @@ int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param) return ret; } - ret = remount_resctrlfs(param->mum_resctrlfs); - if (ret) - return ret; - /* * If benchmark wasn't successfully started by child, then child should * kill parent, so save parent's pid @@ -788,7 +784,6 @@ int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param) signal_handler_unregister(); out: kill(bm_pid, SIGKILL); - umount_resctrlfs(); return ret; } diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index cf0c8dd34b8b..edc3f92b11b1 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -617,7 +617,8 @@ char *fgrep(FILE *inf, const char *str) * validate_resctrl_feature_request - Check if requested feature is valid. * @resctrl_val: Requested feature * - * Return: True if the feature is supported, else false + * Return: True if the feature is supported, else false. False is also + * returned if resctrl FS is not mounted. */ bool validate_resctrl_feature_request(const char *resctrl_val) { @@ -625,11 +626,13 @@ bool validate_resctrl_feature_request(const char *resctrl_val) bool found = false; char *res; FILE *inf; + int ret; if (!resctrl_val) return false; - if (remount_resctrlfs(false)) + ret = find_resctrl_mount(NULL); + if (ret) return false; if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) { From patchwork Mon Jul 17 13:14:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121307 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1106470vqt; Mon, 17 Jul 2023 06:19:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlEOkGXCPPP0JytTK/GyQjJ/sPkbYyyjyZrVfMlZJVA7rO5WYhWrCls1XqIR98XUl+2qj93x X-Received: by 2002:a05:6a20:8e1c:b0:12f:f9af:3a2a with SMTP id y28-20020a056a208e1c00b0012ff9af3a2amr14630531pzj.54.1689599954695; Mon, 17 Jul 2023 06:19:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689599954; cv=none; d=google.com; s=arc-20160816; b=NKRRgiOKutiY8PzNQUt5fnt5lBP4uufiRFH4iIlk3hjog2RdGi1HHpf36PpWvj37dB +zaj+Y0i8i9mYaqxabzpjqnJ9+pGUdKok3HW63wrG07EguAw/LHsZychjW87XNR5Z760 mM3Lk3se+sQZMe0izEouTR9VLhzaK+KpeE7JKVMMq5seIrpo313SxQY7IY+p5WDzYft3 86h2ajFZ+2fHIcpsOaq2T/EkLsp0REXRGLAOc7Nv6el1I/8qbBmNRSpClinGxiCYOUKZ 1qOoLxRBrgYzcESK1jhL3WsvdqSFJAR/dod8YLCQoY8KJuw2LsJMp1fF0OiSJ8kDHYaD Z73w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qIlaC3eQ5to3TJKysIy4xQtpTmap4loHfUFmZs7Nt+I=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=Kkp9/YFkAuamhctYIlf9VjFMupd9Da3MRB5y8U6Tq9qay71sT7U1T6j9FoArXDGmkD GBge/G6FlRUtmKMju0lFEI72YThX3WyTSos9OO1A6t7ru+VJL/j6rMzJoZgkLA7HKvNd fO1ew2hPRO0K1pDhS/LQbC6By7SffBN0Qq9ahlcbPMrpDjeghfIgy8/hIMiPjQeJwrkJ n308UwpVaYUbEDy9bf+PrLFAWUGWhtxBZGIZgyT6FjVdK3ARRQhdCp4U1KaJ3bXmNdHn w3SNYdrtp1YxuB5cbYMvH9x8V4WY3uWc1KL6v8eJomZ53ZIwk6PR7wkWtcchqp4pB5sa wmNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CJjf36mL; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l5-20020a056a00140500b0066db06a5cf1si11552540pfu.43.2023.07.17.06.19.01; Mon, 17 Jul 2023 06:19:14 -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=CJjf36mL; 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 S231493AbjGQNQ0 (ORCPT + 99 others); Mon, 17 Jul 2023 09:16:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54114 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231447AbjGQNP5 (ORCPT ); Mon, 17 Jul 2023 09:15:57 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E47AB1BDA; Mon, 17 Jul 2023 06:15:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599745; x=1721135745; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/1/VJsytpG9ab8tNQhkRW6NqEkFFS16dN1lelPWiwFU=; b=CJjf36mL4LGZBHkCaBvLOVAEjhPOzv2h4xnLwBMn//Yezcd7hOq/P5/z JkdTwaHyY6QngVzRO0BwrmsWRiBXe/InwAt32xW9HVstfaPQZJMNzJ7FV 7dH7N4wNBSOKPqoEHnZGvFGV+0kkMaAWyiSUegV7hKlOCx3dg0Qs5yqR2 grQrN7gdfvRg8gvMXbEtExnHHDVc94146/U644fchBPt4XWwg2+FIqTiq x+DbVM3f0YcA5qytyCfwevU3HqawJA2HbeCRtYGttRN7jGDgWCzeHT9ec O5AvnyuLtNfmBSiBibUp2XtxXKn4WwUMQVnUyrhfKoLwfWSvTjtkZ5Hg6 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568907" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568907" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246780" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246780" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:41 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 07/19] selftests/resctrl: Refactor remount_resctrl(bool mum_resctrlfs) to mount_resctrl() Date: Mon, 17 Jul 2023 16:14:55 +0300 Message-Id: <20230717131507.32420-8-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771673962246284807 X-GMAIL-MSGID: 1771673962246284807 Mount/umount of the resctrl FS is now paired nicely per test. Rename remount_resctrl(bool mum_resctrlfs) to mount_resctrl(). Make it unconditionally try to mount the resctrl FS and return error if resctrl FS was mounted already. While at it, group the mount/umount prototypes in the header. Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/resctrl.h | 2 +- .../testing/selftests/resctrl/resctrl_tests.c | 8 +++---- tools/testing/selftests/resctrl/resctrlfs.c | 23 ++++++------------- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index f455f0b7e314..23af3fb73cb4 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -85,8 +85,8 @@ extern char llc_occup_path[1024]; int get_vendor(void); bool check_resctrlfs_support(void); int filter_dmesg(void); -int remount_resctrlfs(bool mum_resctrlfs); int get_resource_id(int cpu_no, int *resource_id); +int mount_resctrlfs(void); int umount_resctrlfs(void); int validate_bw_report_request(char *bw_report); bool validate_resctrl_feature_request(const char *resctrl_val); diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 6bf4ead74496..0363c4b607d2 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -77,7 +77,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, ksft_print_msg("Starting MBM BW change ...\n"); - res = remount_resctrlfs(true); + res = mount_resctrlfs(); if (res) { ksft_exit_fail_msg("Failed to mount resctrl FS\n"); return; @@ -106,7 +106,7 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, ksft_print_msg("Starting MBA Schemata change ...\n"); - res = remount_resctrlfs(true); + res = mount_resctrlfs(); if (res) { ksft_exit_fail_msg("Failed to mount resctrl FS\n"); return; @@ -132,7 +132,7 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) ksft_print_msg("Starting CMT test ...\n"); - res = remount_resctrlfs(true); + res = mount_resctrlfs(); if (res) { ksft_exit_fail_msg("Failed to mount resctrl FS\n"); return; @@ -160,7 +160,7 @@ static void run_cat_test(int cpu_no, int no_of_bits) ksft_print_msg("Starting CAT test ...\n"); - res = remount_resctrlfs(true); + res = mount_resctrlfs(); if (res) { ksft_exit_fail_msg("Failed to mount resctrl FS\n"); return; diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index edc3f92b11b1..c45666942439 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -48,29 +48,20 @@ static int find_resctrl_mount(char *buffer) } /* - * remount_resctrlfs - Remount resctrl FS at /sys/fs/resctrl - * @mum_resctrlfs: Should the resctrl FS be remounted? + * mount_resctrlfs - Mount resctrl FS at /sys/fs/resctrl * - * If not mounted, mount it. - * If mounted and mum_resctrlfs then remount resctrl FS. - * If mounted and !mum_resctrlfs then noop + * Mounts resctrl FS. Fails if resctrl FS is already mounted to avoid + * pre-existing settings interfering with the test results. * * Return: 0 on success, non-zero on failure */ -int remount_resctrlfs(bool mum_resctrlfs) +int mount_resctrlfs(void) { - char mountpoint[256]; int ret; - ret = find_resctrl_mount(mountpoint); - if (ret) - strcpy(mountpoint, RESCTRL_PATH); - - if (!ret && mum_resctrlfs && umount(mountpoint)) - ksft_print_msg("Fail: unmounting \"%s\"\n", mountpoint); - - if (!ret && !mum_resctrlfs) - return 0; + ret = find_resctrl_mount(NULL); + if (ret != -ENOENT) + return -1; ksft_print_msg("Mounting resctrl to \"%s\"\n", RESCTRL_PATH); ret = mount("resctrl", RESCTRL_PATH, "resctrl", 0, NULL); From patchwork Mon Jul 17 13:14:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121318 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1115486vqt; Mon, 17 Jul 2023 06:35:34 -0700 (PDT) X-Google-Smtp-Source: APBJJlH2Bj1V2prjkWG4gatCfjYJtakHQvJerbBviWVaz1CbXcjROgWWGmltrsCxIFNbRv8fE3gq X-Received: by 2002:a05:6e02:216c:b0:348:8da5:a53c with SMTP id s12-20020a056e02216c00b003488da5a53cmr1039114ilv.22.1689600934619; Mon, 17 Jul 2023 06:35:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600934; cv=none; d=google.com; s=arc-20160816; b=bbnVmQZ3rmWPR0quJKT2MGniXmiXj39VKY5n+D0Nij1k6pfkyeD6LsawXCDkipZgmd ynM/yX+SAnzIqQ/Hplc1bD8EEd37mhvIGv3NcxfGJDjtd4GXgP9GaN66Nt5TanH5773H GslJnyKhoVr8w7EGdXhPrS1RMix/ynaVHA7r6PJXZcF7x9+HA+ZqunRGF9/eC3L8neRo fXedaorUW5lFZuU7PR/SM8Cdp0694YiUN+fo+/94n4hHiqIFykOE68vWcmtcx1gP0Ij/ 2b2AUgN1cBW0+k7ttzH04BsMHBpUgMkgnrm7GHluN4ImiHF//b1QXqjJ2//bcOZ+NeW5 swUQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WkVSi0yf7Isr1hHVLtLdUHc4G6CNdZxCFzA4Bpzpn2A=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=N5Y9NvV8lr9sqG+5IJcfJnoIitVnMm5F+b6xKPHJp2wFTqkvePQB1SBqcNyBF3TScf GA8HnCWUyon1XDNYJuc4atPY3TQCpCOO3ovWGYbMt6oOSRoaQA9QCfw/qLe8gHzTihfW AmsWHHzWAtrHS2CX0hNMQTFfvWilKo0AsildRbzMGN3Lx6T1Dv+oJhJDFw559avxKmYT 7IYClTk+gsnY1cw6uoQFvRPDLWIItSkt9QFJ9qiqfNoVOGR8dL69Eg4ffhJLb8rfOFjy nRbwbRde2ySJbZdRmzBSH2//GuNNsU+9SnzKVj9B2fqi8gmJkCy3jrsB9Qr5WR507umE 6Jsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bgpiXDP0; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z13-20020a63d00d000000b005533647f7c5si11178632pgf.420.2023.07.17.06.35.21; Mon, 17 Jul 2023 06:35:34 -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=bgpiXDP0; 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 S231532AbjGQNQn (ORCPT + 99 others); Mon, 17 Jul 2023 09:16:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230388AbjGQNQJ (ORCPT ); Mon, 17 Jul 2023 09:16:09 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7793E2120; Mon, 17 Jul 2023 06:15:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599749; x=1721135749; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OFDth0hC1lh6InjhSEs+Bp/5dwcILo8hw2+/N9uGIKo=; b=bgpiXDP08dEeFuzCoZTptLxnlmADK40JidgbHRHC/0gIv9HM5QVf2rRE 1xJ9tRa1HfBOTOj+4SiuH2IBI33Teywdq7d17Fc8cwCywxN1cYciXAPPD 8r60HGAp2DRtd09txcrdoHCCmhEOwX42L/qATFJmYBEnEX31YXzlnrUk7 j6/pWm97MBQI2iNSZjqE6RNX8hCADjRQqwbZVTvsrTjbw4jmYFH45ewF2 H4gKt9t4+duMNkUuTtqQMIFtJKJBIVfqXjl+aAZUrI41Mn7H74Nrv163l qbElLO0LsopF8LZ5vQXbtT+IxZlC8F347ytvDCgxd1oWax92h10KQhq16 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368568923" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368568923" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246813" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246813" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:45 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 08/19] selftests/resctrl: Remove mum_resctrlfs from struct resctrl_val_param Date: Mon, 17 Jul 2023 16:14:56 +0300 Message-Id: <20230717131507.32420-9-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771674989674359436 X-GMAIL-MSGID: 1771674989674359436 Resctrl FS mount/umount are now cleanly paired leaving .mum_resctrlfs in the struct resctrl_val_param unused. Remove .mum_resctrlfs from struct resctrl_val_param. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cat_test.c | 1 - tools/testing/selftests/resctrl/cmt_test.c | 1 - tools/testing/selftests/resctrl/mba_test.c | 1 - tools/testing/selftests/resctrl/mbm_test.c | 1 - tools/testing/selftests/resctrl/resctrl.h | 2 -- 5 files changed, 6 deletions(-) diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index e1c071dec1b0..480db0dc4e0e 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -140,7 +140,6 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) struct resctrl_val_param param = { .resctrl_val = CAT_STR, .cpu_no = cpu_no, - .mum_resctrlfs = false, .setup = cat_setup, }; diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index 426d11189a99..d31e28416bb7 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -113,7 +113,6 @@ int cmt_resctrl_val(int cpu_no, int n, char **benchmark_cmd) .ctrlgrp = "c1", .mongrp = "m1", .cpu_no = cpu_no, - .mum_resctrlfs = false, .filename = RESULT_FILE_NAME, .mask = ~(long_mask << n) & long_mask, .span = cache_size * n / count_of_bits, diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c index cde3781a9ab0..3d53c6c9b9ce 100644 --- a/tools/testing/selftests/resctrl/mba_test.c +++ b/tools/testing/selftests/resctrl/mba_test.c @@ -154,7 +154,6 @@ int mba_schemata_change(int cpu_no, char *bw_report, char **benchmark_cmd) .ctrlgrp = "c1", .mongrp = "m1", .cpu_no = cpu_no, - .mum_resctrlfs = true, .filename = RESULT_FILE_NAME, .bw_report = bw_report, .setup = mba_setup diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index 538d35a6485a..24326cb7bc21 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -123,7 +123,6 @@ int mbm_bw_change(int span, int cpu_no, char *bw_report, char **benchmark_cmd) .mongrp = "m1", .span = span, .cpu_no = cpu_no, - .mum_resctrlfs = true, .filename = RESULT_FILE_NAME, .bw_report = bw_report, .setup = mbm_setup diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 23af3fb73cb4..99678d688a80 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -54,7 +54,6 @@ * @mongrp: Name of the monitor group (mon grp) * @cpu_no: CPU number to which the benchmark would be binded * @span: Memory bytes accessed in each benchmark iteration - * @mum_resctrlfs: Should the resctrl FS be remounted? * @filename: Name of file to which the o/p should be written * @bw_report: Bandwidth report type (reads vs writes) * @setup: Call back function to setup test environment @@ -65,7 +64,6 @@ struct resctrl_val_param { char mongrp[64]; int cpu_no; unsigned long span; - bool mum_resctrlfs; char filename[64]; char *bw_report; unsigned long mask; From patchwork Mon Jul 17 13:14:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121355 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1141656vqt; Mon, 17 Jul 2023 07:18:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlFcce2Gs138Xac4ZACDvwtl6snvJP0hozdw8ETCXKqspDNTR/ff+6LLN8hHKVIlBfHojQLe X-Received: by 2002:a17:90a:6341:b0:262:c2fa:b077 with SMTP id v1-20020a17090a634100b00262c2fab077mr10370884pjs.18.1689603529531; Mon, 17 Jul 2023 07:18:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689603529; cv=none; d=google.com; s=arc-20160816; b=ZZslFBnfU5XvZ8ogPYsK1LLvilkPzCLQ79j3Zsxpj2Wk8LGt1muIqlNWHWo0Vf+hvZ 75WflTwastkO0d8QVmUKe5mQgODEmAr/MEwBALa0m1jZZhV0Wb0zvio3BSouy5Lqj9OU BhCyJh2cIfny6oCF0PS3N3tg73n+pKVrCef4DLXpTGEKujEk93CdzJLoDeM2wfaJ1xuE /bn8iUxhk3k+ABMG3yQYcb5FwUZ68uhyrFdKeEHyRmuuqnny24tghANWSxiJjQ1oJT+/ 4c96Px322v3nIuhqArk3veRWLxUxL37/4A6/1CbFBZRZjKr9Tf9WEnyEpfpo2SU2wEtI VP3Q== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=x/mUFxmD0gZAmclDe4KhKw/JaO6CpOPlyzDNb1aTgO0=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=GvLIC9EvScyTPS+5lNhvTy6hsk5Ljx5kBrHZl/JtOTO+S98RbkJnigIDxktK1yTtUU hJbNSbC8MXbe5h+SoaJgr3fv2VpB4amN5OqObQnq9/GDD797EVy4UXE6B9FG5laxjyZr BibtixFwwXvbrDs4Ci9TjcjE2SmVFYrgnGHh40SjAnrDX3OcOmeHb8f/yIMgS/4ep3Lb +RJuOOQc0OUIxNvVZada1wylGhEmem3ip0R9y9AT5XfRPF1yLMcFS1BSPVJTqSiwACoz Ldc2GKaLU8oWqXymkg4hhjnDpfDSKwhV1zyE4eUTLVUOF90U165fo6bdy8e857/TfdbI mHKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QjybEhqI; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z4-20020a63d004000000b0055bb6beb426si11967491pgf.651.2023.07.17.07.18.32; Mon, 17 Jul 2023 07:18:49 -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=QjybEhqI; 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 S231576AbjGQNQz (ORCPT + 99 others); Mon, 17 Jul 2023 09:16:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54196 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231514AbjGQNQf (ORCPT ); Mon, 17 Jul 2023 09:16:35 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 517CF1988; Mon, 17 Jul 2023 06:16:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599762; x=1721135762; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1ibRTFaDJ2wmg9eoX7wGDRMPJaZSfG0esqmUVqxZhP8=; b=QjybEhqIcfPz17xJOneOxrGQwfx8YHgu7ErxxakXmamsTOMLYPZJDtkG Ni5FaTt8cFbxVr3hvWDgrEgrTmJo4kqhu3kjK56hORLTh8VBiWiUKUwm4 zpWdKHX6XGNejOLGgETz6O7/63VtvnNazhzEaQrjCk4/66r6nXGWLfb7f EKE9Lpq1fWjukkF7PfEPYSiMGOY/QH4gwsaaFIPbHAMBD77yV5Oz8Mp0k bUxzqpKzgTYG7b3ltwbclYhKHGf7Tdkac+n/R5aioZicpoPgZCnxbOtfF sC2bC20pVjHz1PfhlsjwB5I0oqvCQia5pCdsWqSirPARuKWZNUBmc9v+U g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569002" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569002" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793246923" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793246923" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:15:59 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 09/19] selftests/resctrl: Convert span to size_t Date: Mon, 17 Jul 2023 16:14:57 +0300 Message-Id: <20230717131507.32420-10-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771677710367688759 X-GMAIL-MSGID: 1771677710367688759 Span is defined either as unsigned long or int. Consistently use size_t everywhere for span as it refers to size of the memory block. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/cache.c | 4 ++-- tools/testing/selftests/resctrl/cmt_test.c | 2 +- tools/testing/selftests/resctrl/fill_buf.c | 8 ++++---- tools/testing/selftests/resctrl/mbm_test.c | 8 ++++---- tools/testing/selftests/resctrl/resctrl.h | 10 +++++----- tools/testing/selftests/resctrl/resctrl_tests.c | 11 ++++++----- tools/testing/selftests/resctrl/resctrlfs.c | 2 +- 7 files changed, 23 insertions(+), 22 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 289b619116fe..53df66814cd6 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -286,7 +286,7 @@ int cat_val(struct resctrl_val_param *param) * Return: 0 on success. non-zero on failure. */ int show_cache_info(unsigned long sum_llc_val, int no_of_bits, - unsigned long cache_span, unsigned long max_diff, + size_t cache_span, unsigned long max_diff, unsigned long max_diff_percent, unsigned long num_of_runs, bool platform, bool cmt) { @@ -308,7 +308,7 @@ int show_cache_info(unsigned long sum_llc_val, int no_of_bits, ksft_print_msg("Percent diff=%d\n", abs((int)diff_percent)); ksft_print_msg("Number of bits: %d\n", no_of_bits); ksft_print_msg("Average LLC val: %lu\n", avg_llc_val); - ksft_print_msg("Cache span (%s): %lu\n", cmt ? "bytes" : "lines", + ksft_print_msg("Cache span (%s): %zu\n", cmt ? "bytes" : "lines", cache_span); return ret; diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index d31e28416bb7..beb0f0687c6d 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -121,7 +121,7 @@ int cmt_resctrl_val(int cpu_no, int n, char **benchmark_cmd) }; if (strcmp(benchmark_cmd[0], "fill_buf") == 0) - sprintf(benchmark_cmd[1], "%lu", param.span); + sprintf(benchmark_cmd[1], "%zu", param.span); remove(RESULT_FILE_NAME); diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index 3b328c844896..785cbd8d0148 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -139,7 +139,7 @@ static int fill_cache_write(unsigned char *start_ptr, unsigned char *end_ptr, } static int -fill_cache(unsigned long long buf_size, int malloc_and_init, int memflush, +fill_cache(size_t buf_size, int malloc_and_init, int memflush, int op, char *resctrl_val) { unsigned char *start_ptr, *end_ptr; @@ -188,10 +188,10 @@ fill_cache(unsigned long long buf_size, int malloc_and_init, int memflush, return 0; } -int run_fill_buf(unsigned long span, int malloc_and_init_memory, - int memflush, int op, char *resctrl_val) +int run_fill_buf(size_t span, int malloc_and_init_memory, int memflush, int op, + char *resctrl_val) { - unsigned long long cache_size = span; + size_t cache_size = span; int ret; ret = fill_cache(cache_size, malloc_and_init_memory, memflush, op, diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index 24326cb7bc21..fd116158d008 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -15,7 +15,7 @@ #define NUM_OF_RUNS 5 static int -show_bw_info(unsigned long *bw_imc, unsigned long *bw_resc, int span) +show_bw_info(unsigned long *bw_imc, unsigned long *bw_resc, size_t span) { unsigned long avg_bw_imc = 0, avg_bw_resc = 0; unsigned long sum_bw_imc = 0, sum_bw_resc = 0; @@ -40,14 +40,14 @@ show_bw_info(unsigned long *bw_imc, unsigned long *bw_resc, int span) ksft_print_msg("%s Check MBM diff within %d%%\n", ret ? "Fail:" : "Pass:", MAX_DIFF_PERCENT); ksft_print_msg("avg_diff_per: %d%%\n", avg_diff_per); - ksft_print_msg("Span (MB): %d\n", span); + ksft_print_msg("Span (MB): %zu\n", span); ksft_print_msg("avg_bw_imc: %lu\n", avg_bw_imc); ksft_print_msg("avg_bw_resc: %lu\n", avg_bw_resc); return ret; } -static int check_results(int span) +static int check_results(size_t span) { unsigned long bw_imc[NUM_OF_RUNS], bw_resc[NUM_OF_RUNS]; char temp[1024], *token_array[8]; @@ -115,7 +115,7 @@ void mbm_test_cleanup(void) remove(RESULT_FILE_NAME); } -int mbm_bw_change(int span, int cpu_no, char *bw_report, char **benchmark_cmd) +int mbm_bw_change(size_t span, int cpu_no, char *bw_report, char **benchmark_cmd) { struct resctrl_val_param param = { .resctrl_val = MBM_STR, diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 99678d688a80..52068ceea956 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -63,7 +63,7 @@ struct resctrl_val_param { char ctrlgrp[64]; char mongrp[64]; int cpu_no; - unsigned long span; + size_t span; char filename[64]; char *bw_report; unsigned long mask; @@ -97,10 +97,10 @@ int write_bm_pid_to_resctrl(pid_t bm_pid, char *ctrlgrp, char *mongrp, char *resctrl_val); int perf_event_open(struct perf_event_attr *hw_event, pid_t pid, int cpu, int group_fd, unsigned long flags); -int run_fill_buf(unsigned long span, int malloc_and_init_memory, int memflush, - int op, char *resctrl_va); +int run_fill_buf(size_t span, int malloc_and_init_memory, int memflush, int op, + char *resctrl_va); int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param); -int mbm_bw_change(int span, int cpu_no, char *bw_report, char **benchmark_cmd); +int mbm_bw_change(size_t span, int cpu_no, char *bw_report, char **benchmark_cmd); void tests_cleanup(void); void mbm_test_cleanup(void); int mba_schemata_change(int cpu_no, char *bw_report, char **benchmark_cmd); @@ -119,7 +119,7 @@ void cmt_test_cleanup(void); int get_core_sibling(int cpu_no); int measure_cache_vals(struct resctrl_val_param *param, int bm_pid); int show_cache_info(unsigned long sum_llc_val, int no_of_bits, - unsigned long cache_span, unsigned long max_diff, + size_t cache_span, unsigned long max_diff, unsigned long max_diff_percent, unsigned long num_of_runs, bool platform, bool cmt); diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 0363c4b607d2..bae8f205fc3f 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -70,7 +70,7 @@ void tests_cleanup(void) cat_test_cleanup(); } -static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, +static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, int cpu_no, char *bw_report) { int res; @@ -99,7 +99,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, umount_resctrlfs(); } -static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, +static void run_mba_test(bool has_ben, char **benchmark_cmd, size_t span, int cpu_no, char *bw_report) { int res; @@ -118,7 +118,7 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, } if (!has_ben) - sprintf(benchmark_cmd[1], "%d", span); + sprintf(benchmark_cmd[1], "%zu", span); res = mba_schemata_change(cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBA: schemata change\n"); @@ -181,11 +181,12 @@ static void run_cat_test(int cpu_no, int no_of_bits) int main(int argc, char **argv) { bool has_ben = false, mbm_test = true, mba_test = true, cmt_test = true; - int c, cpu_no = 1, span = 250, argc_new = argc, i, no_of_bits = 0; char *benchmark_cmd[BENCHMARK_ARGS], bw_report[64], bm_type[64]; char benchmark_cmd_area[BENCHMARK_ARGS][BENCHMARK_ARG_SIZE]; + int c, cpu_no = 1, argc_new = argc, i, no_of_bits = 0; int ben_ind, ben_count, tests = 0; bool cat_test = true; + size_t span = 250; for (i = 0; i < argc; i++) { if (strcmp(argv[i], "-b") == 0) { @@ -273,7 +274,7 @@ int main(int argc, char **argv) benchmark_cmd[i] = benchmark_cmd_area[i]; strcpy(benchmark_cmd[0], "fill_buf"); - sprintf(benchmark_cmd[1], "%d", span); + sprintf(benchmark_cmd[1], "%zu", span); strcpy(benchmark_cmd[2], "1"); strcpy(benchmark_cmd[3], "1"); strcpy(benchmark_cmd[4], "0"); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index c45666942439..14fb85a7e526 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -303,7 +303,7 @@ int taskset_benchmark(pid_t bm_pid, int cpu_no) void run_benchmark(int signum, siginfo_t *info, void *ucontext) { int operation, ret, malloc_and_init_memory, memflush; - unsigned long span, buffer_span; + size_t span, buffer_span; char **benchmark_cmd; char resctrl_val[64]; FILE *fp; From patchwork Mon Jul 17 13:14:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121324 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1119426vqt; Mon, 17 Jul 2023 06:42:46 -0700 (PDT) X-Google-Smtp-Source: APBJJlG87BGtUtSYpu71ivHFgLmVjQLo2D0Z2bJ7M01YSj83idts+83XEWvTZotzySJTvE3bVRks X-Received: by 2002:a05:6a00:2e98:b0:662:5146:c761 with SMTP id fd24-20020a056a002e9800b006625146c761mr17940950pfb.17.1689601365904; Mon, 17 Jul 2023 06:42:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689601365; cv=none; d=google.com; s=arc-20160816; b=E0VVqiClGdz/25T3GfkQtCOZomDX07q305dCYGdR6nUuPwhLSx35aaZ5FMimiOPRQa zB+4UhGTp6WfdPdaXhobJCVPkrs/RDhn738kkI8kke58KK4XwzJVZEvN+H50z0iuylut +E+bbyl5FCVFJ52o5CUVGpzjx+JEXoDtjyjom+4ML1c7m7MI/KsJ/XtwVCfR2G3a2afq Nt6mo7Mcy2mpMVeK+uff5DHXd3YOR8askv5q10pxDhLTSN0R4ifozwvg8nWBGtWKowvJ 3bVmt6yXfqm1Nvv417VBCnU4+ibtnmRHsuLlUP+sEbcwj+PcOye29VQroj0SQoJjM9ox q67A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Pxg5ooV2mrtt3B7Za7lESo3VHZI4I6iF5BqQraDHarA=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=zHZ4j0Do8EFS/EE9wkMaOJEvI77R/Y2Cfpi2Qhet1uiotMVSIAFHmle+NVWGs2cKFN t0+NtniOovGZPulGWx39gQdNalK5Qpd/XHB8V5xBWMiN69wlwPsKVM6srgLzTn0dphZ6 GWZ+hamJhglzo5WW1AVjg60kEYLwRUd0j9EfJe18v+OTDoA6nUJHWiu1e/5SCGozg8gz DFNYhwd8cqniXksZFCIc1l+tVOwGWCGEfuispYGPj4aqN0BVO1XnR4NFMgtiplOAt7af H4dJAQAktaCFTaMasLlCBCvtvFGosBv25IIXPp1SqzeC1RA2UF9gx7Sehtaz0gdrXCeW LYTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N6Jb87Yq; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z13-20020a056a001d8d00b006828982043csi11482487pfw.141.2023.07.17.06.42.32; Mon, 17 Jul 2023 06:42:45 -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=N6Jb87Yq; 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 S229718AbjGQNRR (ORCPT + 99 others); Mon, 17 Jul 2023 09:17:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230265AbjGQNQ4 (ORCPT ); Mon, 17 Jul 2023 09:16:56 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F15612D7B; Mon, 17 Jul 2023 06:16:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599781; x=1721135781; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=O3tFEgIPXRbZQkdAG/GRy4TC8Wl1EcsHY+cipqNpRuc=; b=N6Jb87YqmyGHlxUGL4Gehq5eZm0OamULvfeJB1L6wy+a9pZS+t9VzT23 MviAnytgZKNmg4qgrAkRyd8bXt75OSIho0+ftVF9driwcpsJpGU41qzKx ks6pb1pvILzPPNT/iPM+IOcwz+FCv2n1rKp769qg5FoSaDtylJXwb3L/D h2Xbmbjrb+zwRtSMQ21T01YmzgxHeaK0S6hcvsTg9G0rB8H8G23z/q2v4 /AebffM4Z80nGZG5yl9ISCmMzDBDyWJaPjX3Vs/tqUI08hr/GwwfE+KgC AqhtmIh28jb2nOF3vaS6iGK+VciYKI4phYIbTSodUM6QU2SB+e1fyXZcJ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569068" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569068" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247043" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247043" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:17 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 10/19] selftests/resctrl: Express span internally in bytes Date: Mon, 17 Jul 2023 16:14:58 +0300 Message-Id: <20230717131507.32420-11-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675441503216769 X-GMAIL-MSGID: 1771675441503216769 MBA and MBM tests to use megabytes to represent span. CMT test uses bytes. The difference requires run_benchmark() to size the buffer differently based on the test name, which in turn requires passing the test name into run_benchmark(). Convert MBA and MBM tests to use span internally in bytes like CMT test to remove the internal inconsistency between the tests. Remove the test dependent buffer sizing from run_benchmark(). This change eliminates one of the reasons why the test name has to be passed around but there are still other users too so the test name passing cannot yet be removed. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/mbm_test.c | 2 +- tools/testing/selftests/resctrl/resctrl_tests.c | 2 +- tools/testing/selftests/resctrl/resctrlfs.c | 9 ++------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index fd116158d008..2d58d4b8a918 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -40,7 +40,7 @@ show_bw_info(unsigned long *bw_imc, unsigned long *bw_resc, size_t span) ksft_print_msg("%s Check MBM diff within %d%%\n", ret ? "Fail:" : "Pass:", MAX_DIFF_PERCENT); ksft_print_msg("avg_diff_per: %d%%\n", avg_diff_per); - ksft_print_msg("Span (MB): %zu\n", span); + ksft_print_msg("Span (MB): %zu\n", span / MB); ksft_print_msg("avg_bw_imc: %lu\n", avg_bw_imc); ksft_print_msg("avg_bw_resc: %lu\n", avg_bw_resc); diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index bae8f205fc3f..3a65dacb441e 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -185,8 +185,8 @@ int main(int argc, char **argv) char benchmark_cmd_area[BENCHMARK_ARGS][BENCHMARK_ARG_SIZE]; int c, cpu_no = 1, argc_new = argc, i, no_of_bits = 0; int ben_ind, ben_count, tests = 0; + size_t span = 250 * MB; bool cat_test = true; - size_t span = 250; for (i = 0; i < argc; i++) { if (strcmp(argv[i], "-b") == 0) { diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 14fb85a7e526..6c00e79df033 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -303,9 +303,9 @@ int taskset_benchmark(pid_t bm_pid, int cpu_no) void run_benchmark(int signum, siginfo_t *info, void *ucontext) { int operation, ret, malloc_and_init_memory, memflush; - size_t span, buffer_span; char **benchmark_cmd; char resctrl_val[64]; + size_t span; FILE *fp; benchmark_cmd = info->si_ptr; @@ -326,12 +326,7 @@ void run_benchmark(int signum, siginfo_t *info, void *ucontext) operation = atoi(benchmark_cmd[4]); sprintf(resctrl_val, "%s", benchmark_cmd[5]); - if (strncmp(resctrl_val, CMT_STR, sizeof(CMT_STR))) - buffer_span = span * MB; - else - buffer_span = span; - - if (run_fill_buf(buffer_span, malloc_and_init_memory, memflush, + if (run_fill_buf(span, malloc_and_init_memory, memflush, operation, resctrl_val)) fprintf(stderr, "Error in running fill buffer\n"); } else { From patchwork Mon Jul 17 13:14:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121338 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1126377vqt; Mon, 17 Jul 2023 06:56:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlFrgwM3X6FlPN8wC7kgfiVhYkr/tcu3jv1qFeb7jz0AsEKTyX8dUKK9+4Q7n76RR+npGOKQ X-Received: by 2002:a05:6808:e83:b0:3a4:2941:afaa with SMTP id k3-20020a0568080e8300b003a42941afaamr13479307oil.14.1689602209443; Mon, 17 Jul 2023 06:56:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689602209; cv=none; d=google.com; s=arc-20160816; b=PyU19OXAMzg374F5kVrvvRRmv27qIxamnYUMAoXXgUgFhZH3/blXq8XR1u/kcqFwed QTxBq+ut1yFweBoe5qJTfb4Wll5sIkovQJCoHG3n2ohXuTC0N+bg02NhAxGkcl+sosVl lJJk7LI45k7kKFjM9Vq4/SLQA00064aDVtAG42g1Ez3xZk6WbeYYzXHJFkGngRBjmKN1 51U3QY6AheN/5cFMrcxv5OaOEyDtwU5d6o1+O6TivB8rPXHC0F8B0MkimHarx2XZp/I6 9Lj2sCCdfIcmJAh1gtFzG5crPayDC+gJruLIKyJdtCLCN77GEly/9S4ddaMQDDHw8kNb OHaA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aR+lwrBAzzIm+SYzGXbceYbCfN4td2SiDQ1ocMSk0vc=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=iAsor8ASvDUusm5gA8iZ4+m3Sn/8v0u8ArbedJHzVWVWQBiGqWSJVA3V5Gi1V0dTYv K0zJHQA0HR0ztY2VsNZQfeizGpCARLVs4u3uuTLSsyE+jNscrYNR3GfJy6EeCnTTnliX 46jm7wYfW9JGkjDoZiVKEIIQhu8Xf+RqgXpcsgZ7u5jXLRipVMPJNlyJJ1/+Z1rdROHN mAYNKt2onzf7v5NOZEhYck+Yj2uG9RTdQm8JG/OYAiLDRUgaMF49PYOr9ZVjdwpHLxlJ HqhlpeqEe0pbxl/DA1hJ+gD3KT7TokLxcVeQhGZx4EXnIuUVqBP5KqCNsvkpCRiqHW/S anfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=LIEiirHI; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b4-20020a63eb44000000b0053b0da378edsi11390632pgk.789.2023.07.17.06.56.35; Mon, 17 Jul 2023 06:56:49 -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=LIEiirHI; 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 S229688AbjGQNRT (ORCPT + 99 others); Mon, 17 Jul 2023 09:17:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53890 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229954AbjGQNRD (ORCPT ); Mon, 17 Jul 2023 09:17:03 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 119BE13E; Mon, 17 Jul 2023 06:16:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599784; x=1721135784; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=aK7jbebXRGb8FKB1MW4zoqRf8HpNU5bNcvdF3+o9RRw=; b=LIEiirHIdPsb+tXi8jtHvvqBxWIhrHpeBpM5jfaMuFBXxVrmAf2dKDLr L7mvoy520Diq83GH2duwbYc2k0Eg/DzaiLC2m3kOCgd1eG1g2qeoKoVGl AQ7gtyLN1yfT77HhIYxxDnp8lBvax5kLwc+JVGa4g4niIIMtkURrCfAKS 6zbgz6qS0xsMgrzPQOs5CaJNJqWmLPySfEI0NrVS9Qbs0wGVmNr8NhwU9 rM0u4UXJwHgWmZ1UY1Oyej7aEK27QFNjhSmRUlJCgpJ8+j2kbdvmgdGWs yc6YzK1MQ+yv4NSLSiC1NvqJlKMtARI06aSYHasJkDD9qXi8OujRwuCPC g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569089" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569089" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247073" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247073" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:21 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 11/19] selftests/resctrl: Remove duplicated preparation for span arg Date: Mon, 17 Jul 2023 16:14:59 +0300 Message-Id: <20230717131507.32420-12-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771676326625762352 X-GMAIL-MSGID: 1771676326625762352 When no benchmark_cmd is given, benchmark_cmd[1] is set to span in main(). There's no need to do it again in run_mba_test(). Remove the duplicated preparation for span argument into benchmark_cmd[1] from run_mba_test(). After this, the has_ben and span arguments to run_mba_test() can be removed. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/resctrl_tests.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 3a65dacb441e..bf0cadab36b0 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -99,8 +99,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, umount_resctrlfs(); } -static void run_mba_test(bool has_ben, char **benchmark_cmd, size_t span, - int cpu_no, char *bw_report) +static void run_mba_test(char **benchmark_cmd, int cpu_no, char *bw_report) { int res; @@ -117,8 +116,6 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, size_t span, goto umount; } - if (!has_ben) - sprintf(benchmark_cmd[1], "%zu", span); res = mba_schemata_change(cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBA: schemata change\n"); @@ -299,7 +296,7 @@ int main(int argc, char **argv) run_mbm_test(has_ben, benchmark_cmd, span, cpu_no, bw_report); if (mba_test) - run_mba_test(has_ben, benchmark_cmd, span, cpu_no, bw_report); + run_mba_test(benchmark_cmd, cpu_no, bw_report); if (cmt_test) run_cmt_test(has_ben, benchmark_cmd, cpu_no); From patchwork Mon Jul 17 13:15:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121330 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1122357vqt; Mon, 17 Jul 2023 06:48:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlEmH4xlL58K51cD2S/9dbzt01uvzkywTrVArtSg5TwB+/g9di8Fq+tOa01kiCpapvEV5sMx X-Received: by 2002:a17:90b:4b0c:b0:25e:bac2:314c with SMTP id lx12-20020a17090b4b0c00b0025ebac2314cmr10897198pjb.23.1689601701634; Mon, 17 Jul 2023 06:48:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689601701; cv=none; d=google.com; s=arc-20160816; b=MSCy8/sB37gBzyidVS3LHc8kSjV2gbig7xyYIdEMtfYIpcM3p0PXpEJuOXxt5oVCXT YRwM8ruse5pn+FkoDnXBIwQGOV54cqmlb2BZc5CQlvwmwsys8XlEVX1iXNKbdacMmjG0 pXUfQUSKlweihqi/it+VFFa1Cm/xZfdLWV9UgVRTxUH3tNdCCCS1eb2m2vFVc6p2sa/I pu4f6ZN/K2ZCp8xn8/WtfpKtp7jUZEbVyrrDTiqi9JFvFsm6Z5XSgy/c8xwoQHs/iF9Q ffm3Hl2358u9W0+LPUmXROjoi/vLJkJOacD6Xzbg171CxMZuld/Bol5xbDdrMockkpJg 3Dmw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=+4jEoju6C/Vd6wJm8dAsCKQgKROnSGe9tyYWEFqbL38=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=vbOCY939rG4eCiVrTOpdgrLghLMZVDUtkvmevj8hFHOzxBWO+KJ/2zVeEFOt6G9nHq r+l8R0un/bfrXzuVqwMwd+9cCc1dBraiaZO0i7V1psMU17EyEi0Q9EkctTqUkoPHqn6/ 5lXRsVUIYUG6mzxekSKYJmoCV4CA+ct3BqwEnQMEolGCpvhC/vnqs83u4ENhfmQval6R W9e94eBuGbrOwRFOLwnx2EYvTDphcIR3JUcoHIGoTx7ulf4GhM//O4DGVSC4RMJhHHyi 0bbkh3pRYmwi6N0f8ZhdszrlN5i0h5BwWtpqQPck/96MdDY6JIKynIbyp2m7EzUk7xWn Tkug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JhQB48o2; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h15-20020a17090acf0f00b0025e9df04869si4567080pju.164.2023.07.17.06.48.08; Mon, 17 Jul 2023 06:48:21 -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=JhQB48o2; 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 S230399AbjGQNRb (ORCPT + 99 others); Mon, 17 Jul 2023 09:17:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231196AbjGQNRH (ORCPT ); Mon, 17 Jul 2023 09:17:07 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D6E91FD8; Mon, 17 Jul 2023 06:16:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599790; x=1721135790; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=LgFnJkewDbnxK/Tvo4DtLXge8OMjYVLRYceYt2Rr/Cc=; b=JhQB48o2mK/82r6LEERXs6fVU6QomogQve2BHkUoQoF5ekZS/IK86jhH NHJc825XDtWfPl2yrJW+GMx2AbjTuH4G3BVb0xho1PAeWs3trh2PRXtdR QiBuSW5FB/d0QS8b6DLcEN4/klNzfur0pIAQDr+HpQ/rT0iYKCHfw54uu VdlaWxnSXJ/VeRHQ6DV/AVvzQHK1WS7JwZypmKidvXjpserlIloPxANaw /f+ySsZZrZHdXcn4VYbhhaTW4V2iMzYayBhtEiiOvZtYScSoV01fZHGwR eTEZf4Z+iKl1uFSbG8GZXcUCEp1qH+7el4tC6mBpZsqo5jl+dS5aCmdps g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569100" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569100" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247083" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247083" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:25 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 12/19] selftests/resctrl: Remove "malloc_and_init_memory" param from run_fill_buf() Date: Mon, 17 Jul 2023 16:15:00 +0300 Message-Id: <20230717131507.32420-13-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675794151603739 X-GMAIL-MSGID: 1771675794151603739 run_fill_buf()'s malloc_and_init_memory parameter is always 1. There's also duplicated memory init code for malloc_and_init_memory == 0 case in fill_buf() which is unused. Remove the malloc_and_init_memory parameter and the duplicated mem init code. While at it, fix also a typo in run_fill_buf() prototype's argument. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 6 ++-- tools/testing/selftests/resctrl/fill_buf.c | 28 +++---------------- tools/testing/selftests/resctrl/resctrl.h | 3 +- .../testing/selftests/resctrl/resctrl_tests.c | 13 ++++----- tools/testing/selftests/resctrl/resctrlfs.c | 12 ++++---- 5 files changed, 19 insertions(+), 43 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 53df66814cd6..63b551c44f1d 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -210,7 +210,7 @@ int measure_cache_vals(struct resctrl_val_param *param, int bm_pid) */ int cat_val(struct resctrl_val_param *param) { - int malloc_and_init_memory = 1, memflush = 1, operation = 0, ret = 0; + int memflush = 1, operation = 0, ret = 0; char *resctrl_val = param->resctrl_val; pid_t bm_pid; @@ -247,8 +247,8 @@ int cat_val(struct resctrl_val_param *param) if (ret) break; - if (run_fill_buf(param->span, malloc_and_init_memory, - memflush, operation, resctrl_val)) { + if (run_fill_buf(param->span, memflush, operation, + resctrl_val)) { fprintf(stderr, "Error-running fill buffer\n"); ret = -1; goto pe_close; diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index 785cbd8d0148..d8f5505eb9e6 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -138,36 +138,18 @@ static int fill_cache_write(unsigned char *start_ptr, unsigned char *end_ptr, return 0; } -static int -fill_cache(size_t buf_size, int malloc_and_init, int memflush, - int op, char *resctrl_val) +static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) { unsigned char *start_ptr, *end_ptr; - unsigned long long i; int ret; - if (malloc_and_init) - start_ptr = malloc_and_init_memory(buf_size); - else - start_ptr = malloc(buf_size); - + start_ptr = malloc_and_init_memory(buf_size); if (!start_ptr) return -1; startptr = start_ptr; end_ptr = start_ptr + buf_size; - /* - * It's better to touch the memory once to avoid any compiler - * optimizations - */ - if (!malloc_and_init) { - for (i = 0; i < buf_size; i++) - *start_ptr++ = (unsigned char)rand(); - } - - start_ptr = startptr; - /* Flush the memory before using to avoid "cache hot pages" effect */ if (memflush) mem_flush(start_ptr, buf_size); @@ -188,14 +170,12 @@ fill_cache(size_t buf_size, int malloc_and_init, int memflush, return 0; } -int run_fill_buf(size_t span, int malloc_and_init_memory, int memflush, int op, - char *resctrl_val) +int run_fill_buf(size_t span, int memflush, int op, char *resctrl_val) { size_t cache_size = span; int ret; - ret = fill_cache(cache_size, malloc_and_init_memory, memflush, op, - resctrl_val); + ret = fill_cache(cache_size, memflush, op, resctrl_val); if (ret) { printf("\n Error in fill cache\n"); return -1; diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 52068ceea956..3054cc4ef0e3 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -97,8 +97,7 @@ int write_bm_pid_to_resctrl(pid_t bm_pid, char *ctrlgrp, char *mongrp, char *resctrl_val); int perf_event_open(struct perf_event_attr *hw_event, pid_t pid, int cpu, int group_fd, unsigned long flags); -int run_fill_buf(size_t span, int malloc_and_init_memory, int memflush, int op, - char *resctrl_va); +int run_fill_buf(size_t span, int memflush, int op, char *resctrl_val); int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param); int mbm_bw_change(size_t span, int cpu_no, char *bw_report, char **benchmark_cmd); void tests_cleanup(void); diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index bf0cadab36b0..125ed0ca11e3 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -89,7 +89,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, } if (!has_ben) - sprintf(benchmark_cmd[5], "%s", MBA_STR); + sprintf(benchmark_cmd[4], "%s", MBA_STR); res = mbm_bw_change(span, cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBM: bw change\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -141,7 +141,7 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) } if (!has_ben) - sprintf(benchmark_cmd[5], "%s", CMT_STR); + sprintf(benchmark_cmd[4], "%s", CMT_STR); res = cmt_resctrl_val(cpu_no, 5, benchmark_cmd); ksft_test_result(!res, "CMT: test\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -267,16 +267,15 @@ int main(int argc, char **argv) benchmark_cmd[ben_count] = NULL; } else { /* If no benchmark is given by "-b" argument, use fill_buf. */ - for (i = 0; i < 6; i++) + for (i = 0; i < 5; i++) benchmark_cmd[i] = benchmark_cmd_area[i]; strcpy(benchmark_cmd[0], "fill_buf"); sprintf(benchmark_cmd[1], "%zu", span); strcpy(benchmark_cmd[2], "1"); - strcpy(benchmark_cmd[3], "1"); - strcpy(benchmark_cmd[4], "0"); - strcpy(benchmark_cmd[5], ""); - benchmark_cmd[6] = NULL; + strcpy(benchmark_cmd[3], "0"); + strcpy(benchmark_cmd[4], ""); + benchmark_cmd[5] = NULL; } sprintf(bw_report, "reads"); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 6c00e79df033..8a66445079f8 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -302,7 +302,7 @@ int taskset_benchmark(pid_t bm_pid, int cpu_no) */ void run_benchmark(int signum, siginfo_t *info, void *ucontext) { - int operation, ret, malloc_and_init_memory, memflush; + int operation, ret, memflush; char **benchmark_cmd; char resctrl_val[64]; size_t span; @@ -321,13 +321,11 @@ void run_benchmark(int signum, siginfo_t *info, void *ucontext) if (strcmp(benchmark_cmd[0], "fill_buf") == 0) { /* Execute default fill_buf benchmark */ span = strtoul(benchmark_cmd[1], NULL, 10); - malloc_and_init_memory = atoi(benchmark_cmd[2]); - memflush = atoi(benchmark_cmd[3]); - operation = atoi(benchmark_cmd[4]); - sprintf(resctrl_val, "%s", benchmark_cmd[5]); + memflush = atoi(benchmark_cmd[2]); + operation = atoi(benchmark_cmd[3]); + sprintf(resctrl_val, "%s", benchmark_cmd[4]); - if (run_fill_buf(span, malloc_and_init_memory, memflush, - operation, resctrl_val)) + if (run_fill_buf(span, memflush, operation, resctrl_val)) fprintf(stderr, "Error in running fill buffer\n"); } else { /* Execute specified benchmark */ From patchwork Mon Jul 17 13:15:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121313 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1111709vqt; Mon, 17 Jul 2023 06:29:10 -0700 (PDT) X-Google-Smtp-Source: APBJJlE0UuNXBdGKjIiwmuDnaAxuq5+60pqRBQtm/IQ+LjEcbsS7gaan2pYbykHxv1FEx6xMjtKM X-Received: by 2002:a17:90b:4a0f:b0:262:d49f:ee63 with SMTP id kk15-20020a17090b4a0f00b00262d49fee63mr11098301pjb.11.1689600549624; Mon, 17 Jul 2023 06:29:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600549; cv=none; d=google.com; s=arc-20160816; b=VKYNQaBMEjzKdy1s5x7SLOPl+xuW4kJKx1mdlwa/xXj3AYrHcEyhL/2WYriMWCc5nd U5f/m7RtSTRoPaqVjpKt0kJ9n8r+x2OgL9/6wxuCoxji2HaeyvFL1vCHyOxlS6vlxyr5 PyOVx5N6dV/O7vjgcK8t39i7QII30cd7B5xifgM1qskIk1xgHMMDOVqF4o5n6ySlJ8kZ FMoXBqPgQsMjllATX6w16ytd/HuIRrtkyOaDO13MSTKwWyHhV/3eg4C+rqXRed209/Dx W9tzCSbX4v0HxLDoc2CyfnoBG2ZXTM7D1AaaaeBG2XIYduBb7LCPm05rcLUCegnrAgQa nKDw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3Um/6p10/iFUr8B7ZSaDOphpy1L3hXdGLIKoJMTrS4o=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=YAAtFpFIQ4dtP+U0a1VT5tkvcJQ7Pded3eJO1kNtEjnahOquyjayaDLBSujXFuNMBQ O2sd4+79OZL8Hc0yj/OYqKn8JlYJiXdvChR6398XMfLYkzucdf4Vptmdegx3E72nnYox mdsNgiogGmz2wWtNcLJIgXTEolILCheIwcIszlSSRCnLdAfYvJTzEM742Wg5R2TDRz6C DK9XbYJngENeKVjo77tFx7zpZuNJHYy3EERljr68078gswaYkLZ1A+B6autBlhK6lDSw agW0epZWuO8RzMURYWoMzk5w5Pd95YRyiOk15Jrn54WCEahXhyHdtuASBe2z4Wsgz1lj 2K1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JulPL2T+; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q31-20020a17090a1b2200b0025bcbba10c6si4128012pjq.85.2023.07.17.06.28.56; Mon, 17 Jul 2023 06:29:09 -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=JulPL2T+; 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 S231603AbjGQNRp (ORCPT + 99 others); Mon, 17 Jul 2023 09:17:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231612AbjGQNRR (ORCPT ); Mon, 17 Jul 2023 09:17:17 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 423CE1FF1; Mon, 17 Jul 2023 06:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599799; x=1721135799; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ogx0qj3LX5irrJwshgW9nYSxrngHHmC2qLUGm2TgldA=; b=JulPL2T+SUUE6e1xynFRFAa2ThcMiHgaEP9W+8rkxOcic2n7iV5REJp2 REzb2VOU5yJ4dN2v5or/sgGN0B3EEcZTr/Mzas0iVWcv545GfrKNARnEN C5Lwzm0r9a0jkSeVaDgnyaW10eCaplrr8LvZgRG3Nir2uVnurNx9p+42C QAPE5MI3t0eMJKiBHMB72snnD5Zp2OfZFv5AKa7zpCAwDy1ECefiF0A2t xlRPXlyKm4mGk/AK3kCqdMLzhKtHRKXM32cY+3vUfP0AY3J4571/pHnfc uzefV3nZOx4HnqKtv1UlxX/avAU24ZzlVGdgwHkqjVi8LEAH5FzyOpNEq Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569115" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569115" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247103" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247103" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:28 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 13/19] selftests/resctrl: Remove unnecessary startptr global from fill_buf Date: Mon, 17 Jul 2023 16:15:01 +0300 Message-Id: <20230717131507.32420-14-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771674585669855217 X-GMAIL-MSGID: 1771674585669855217 fill_buf stores buffer pointer into global variable startptr that is only used in fill_cache(). Remove startptr as global variable, the local variable in fill_cache() is enough to keep the pointer. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/fill_buf.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index d8f5505eb9e6..a5ec9c82a960 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -22,8 +22,6 @@ #define PAGE_SIZE (4 * 1024) #define MB (1024 * 1024) -static unsigned char *startptr; - static void sb(void) { #if defined(__i386) || defined(__x86_64) @@ -147,7 +145,6 @@ static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) if (!start_ptr) return -1; - startptr = start_ptr; end_ptr = start_ptr + buf_size; /* Flush the memory before using to avoid "cache hot pages" effect */ @@ -159,7 +156,7 @@ static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) else ret = fill_cache_write(start_ptr, end_ptr, resctrl_val); - free(startptr); + free(start_ptr); if (ret) { printf("\n Error in fill cache read/write...\n"); From patchwork Mon Jul 17 13:15:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121320 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1115718vqt; Mon, 17 Jul 2023 06:35:59 -0700 (PDT) X-Google-Smtp-Source: APBJJlFWzQub1OmyPtLP5KL/ljrX1+H2W5uHKC8SZWi8bii9MAubxK3KZ8YyBvQL0gidvb+j9RLT X-Received: by 2002:a17:90b:2242:b0:262:dec3:5477 with SMTP id hk2-20020a17090b224200b00262dec35477mr9332078pjb.7.1689600958937; Mon, 17 Jul 2023 06:35:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600958; cv=none; d=google.com; s=arc-20160816; b=EYgaSx8Wcem74uiA37fgouQ7cmolJyBJCYlh2D//1hWsJMsDASr94Wu+IoZy/JmoG+ ONzG6FOyNHwbYnjou+iINOMcCF0bK4VMAbFq+e6XbZ6C3NkiHoPNpx+a7a81AAZLwhA+ xIlRaHi+wrtzDMEq94inNlWcexEjqCJoTrkYG/oSJuvYJxYJ7CnEl6XIZiAstf+z3VbB 2eI/99RA4K3zzAkmp7PRRBwm5M+cazX9sV09IyUyvuWt2SkDekTXDdEPMhAe1kgxbpKB zOcmPrMvn2OlUq87XDXFjFlRZPvXy/4LJZFUlgIzd+PskOHHf/AylJHTbZMMmKqVh/SK dpKA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RNb3s1U0uzJMe2h0Uuil92w9hQl4pcO2L6KXkl8Ikn8=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=u4pLxjMCQ3xlmA7u1iv9TPQMhahR47eSlA97eHVXShYsCeYJSA+Ea+oJSav6NKC24l 3bamyRb/w+O+KSio8XTBe/jtD5xv2Lasit7ybDSw9kgBdA1EMbmhxEgKtTZZ7gpi2Un6 hWV5HsQ7TwJISBA382iPSySru02w1Ojgc676axpaai9XrRVbQ5xuNEu+7NOCcSdBGC7l spt4PhfhhtRDY1M4OzrWo3P/uBU4TbeboI8uRKYPA8NkmF2qnuUqZX6uo3jq99hF33Z0 8dPTpYZ46AJ6K0quXem9MhFMDGLofUOZJOAmrkE6QvOz5nIhyKEZIkG73lnqDo0YCVw0 pxZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JMc+xAZm; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bo13-20020a17090b090d00b00259c1100db5si5842751pjb.188.2023.07.17.06.35.46; Mon, 17 Jul 2023 06:35:58 -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=JMc+xAZm; 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 S231620AbjGQNRv (ORCPT + 99 others); Mon, 17 Jul 2023 09:17:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54338 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230527AbjGQNR2 (ORCPT ); Mon, 17 Jul 2023 09:17:28 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4700A10D9; Mon, 17 Jul 2023 06:16:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599803; x=1721135803; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=H8TUYXGj7h3o11itnFQ9jQLYJahO2RBWpVOXlg1CxfQ=; b=JMc+xAZmvERWqouugCOIAu4h0nrQpww/i5hqdUiKAR1LY3ST96VsrbOs VNwl+aX/S4RLZxg4U+XTagtB1hzmBMcGzcHJYnL/GF3HeEGJHZWXkZv3e J9aJjx8dHOKSTwJTGIixSZgo0CyhpaIN5UoHbZzWIM7ax4kVnAOQtqvgJ gfI49zW7QonjnMRvK9odp8v2x6p49O6HOoHuLcjQ9bp3IdFLvzxG1oauo 21e+xyKJ1HGv1EXdUReJxbrWOge7ZFI2yuv3QTW2GzkiIt9bDAXtLD1a/ Z0t+3G1Ow1iHgXdzycAxKDs9u2PAPLZAe5pA9QAfF6PFG+iKYUNAbQnB4 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569138" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569138" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247127" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247127" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:32 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 14/19] selftests/resctrl: Improve parameter consistency in fill_buf Date: Mon, 17 Jul 2023 16:15:02 +0300 Message-Id: <20230717131507.32420-15-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675014911920228 X-GMAIL-MSGID: 1771675014911920228 fill_buf's arguments can be improved in multiple ways: - Multiple functions in fill_buf have start_ptr as one of their argument which is a bit long and the extra "start" is pretty obvious when it comes to pointers. - Some of the functions take end_ptr and others size_t to indicate the end of the buffer. - Some arguments meaning buffer size are called just 's' - mem_flush() takes void * but immediately converts it to char * Cleanup the parameters to make things simpler and more consistent: - Rename start_ptr to simply buf as it's shorter. - Replace end_ptr and s parameters with buf_size and only calculate end_ptr in the functions that truly use it. - Make mem_flush() parameters to follow the same convention as the other functions in fill_buf. - convert mem_flush() char * to unsigned char *. While at it, fix also a typo in a comment. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/fill_buf.c | 49 +++++++++++----------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index a5ec9c82a960..5f16c4f5dfbf 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -38,32 +38,32 @@ static void cl_flush(void *p) #endif } -static void mem_flush(void *p, size_t s) +static void mem_flush(unsigned char *buf, size_t buf_size) { - char *cp = (char *)p; + unsigned char *cp = buf; size_t i = 0; - s = s / CL_SIZE; /* mem size in cache llines */ + buf_size = buf_size / CL_SIZE; /* mem size in cache lines */ - for (i = 0; i < s; i++) + for (i = 0; i < buf_size; i++) cl_flush(&cp[i * CL_SIZE]); sb(); } -static void *malloc_and_init_memory(size_t s) +static void *malloc_and_init_memory(size_t buf_size) { void *p = NULL; uint64_t *p64; size_t s64; int ret; - ret = posix_memalign(&p, PAGE_SIZE, s); + ret = posix_memalign(&p, PAGE_SIZE, buf_size); if (ret < 0) return NULL; p64 = (uint64_t *)p; - s64 = s / sizeof(uint64_t); + s64 = buf_size / sizeof(uint64_t); while (s64 > 0) { *p64 = (uint64_t)rand(); @@ -74,12 +74,13 @@ static void *malloc_and_init_memory(size_t s) return p; } -static int fill_one_span_read(unsigned char *start_ptr, unsigned char *end_ptr) +static int fill_one_span_read(unsigned char *buf, size_t buf_size) { + unsigned char *end_ptr = buf + buf_size; unsigned char sum, *p; sum = 0; - p = start_ptr; + p = buf; while (p < end_ptr) { sum += *p; p += (CL_SIZE / 2); @@ -88,26 +89,26 @@ static int fill_one_span_read(unsigned char *start_ptr, unsigned char *end_ptr) return sum; } -static -void fill_one_span_write(unsigned char *start_ptr, unsigned char *end_ptr) +static void fill_one_span_write(unsigned char *buf, size_t buf_size) { + unsigned char *end_ptr = buf + buf_size; unsigned char *p; - p = start_ptr; + p = buf; while (p < end_ptr) { *p = '1'; p += (CL_SIZE / 2); } } -static int fill_cache_read(unsigned char *start_ptr, unsigned char *end_ptr, +static int fill_cache_read(unsigned char *buf, size_t buf_size, char *resctrl_val) { int ret = 0; FILE *fp; while (1) { - ret = fill_one_span_read(start_ptr, end_ptr); + ret = fill_one_span_read(buf, buf_size); if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) break; } @@ -124,11 +125,11 @@ static int fill_cache_read(unsigned char *start_ptr, unsigned char *end_ptr, return 0; } -static int fill_cache_write(unsigned char *start_ptr, unsigned char *end_ptr, +static int fill_cache_write(unsigned char *buf, size_t buf_size, char *resctrl_val) { while (1) { - fill_one_span_write(start_ptr, end_ptr); + fill_one_span_write(buf, buf_size); if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) break; } @@ -138,25 +139,23 @@ static int fill_cache_write(unsigned char *start_ptr, unsigned char *end_ptr, static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) { - unsigned char *start_ptr, *end_ptr; + unsigned char *buf; int ret; - start_ptr = malloc_and_init_memory(buf_size); - if (!start_ptr) + buf = malloc_and_init_memory(buf_size); + if (!buf) return -1; - end_ptr = start_ptr + buf_size; - /* Flush the memory before using to avoid "cache hot pages" effect */ if (memflush) - mem_flush(start_ptr, buf_size); + mem_flush(buf, buf_size); if (op == 0) - ret = fill_cache_read(start_ptr, end_ptr, resctrl_val); + ret = fill_cache_read(buf, buf_size, resctrl_val); else - ret = fill_cache_write(start_ptr, end_ptr, resctrl_val); + ret = fill_cache_write(buf, buf_size, resctrl_val); - free(start_ptr); + free(buf); if (ret) { printf("\n Error in fill cache read/write...\n"); From patchwork Mon Jul 17 13:15:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121309 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1107384vqt; Mon, 17 Jul 2023 06:20:54 -0700 (PDT) X-Google-Smtp-Source: APBJJlGDIUfrSZ3UUaYKDQTDAjygUDH6tHb8/OhOevQeUasb5pA0p68rstOwaTTRooz7RbuUVpyb X-Received: by 2002:a05:6512:3c92:b0:4fa:5e76:7ad4 with SMTP id h18-20020a0565123c9200b004fa5e767ad4mr9816628lfv.10.1689600053893; Mon, 17 Jul 2023 06:20:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600053; cv=none; d=google.com; s=arc-20160816; b=PB0yV0qIzryMsoWw+rM6qb8o/09NfsEsVTDWmSVuuAE912y+8DfaJLztOhLUd4Diuv YfzZSUi+huHoCiB1d/wNfLk4hKfLSwf7AbuL+CO539bjBPiO6E6Z3FH4vkivO6hQntL/ PPyXdHMF1CTkvCo0wH8aZmEHIN9UqvaT19QczIwg1rLNCbPnyD/zxrwSHJbrTu3fjC5h OS82HWoNgeEQ9ox6QJkadwetG/qsISNEs1lDFtV5RTZwY5qIS+RB9FC0NC/XeeyNVird Cu9Eyg0pqPnWAcjpvOGXdhhc6s7bNv3mpRhFMHj+w0DhwYiAET2RTNVQ8jdvzZxTneiZ w/gg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8B7t6EEEjw6iSyP+SBwNe8X0HVjmuvqZZBYJmt7eJps=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=Ya82Ud2zLY2uVP70d5IFEZqNRJB4gBRIzAiZrKQdjiEar9juIsxWkhgu5cn23+UMCF zDgXC8koe+JhAGZceogJPzsy0ImNAv2sDr+AQY4BTL7t3ELJnxmfMIIYxC8Dg9iVNPD+ C/nK25ws7tqwkiRbMdqjLJHufe/Z8G6ivefaWBc6PiqtRxLbAMdaKo+x+VaSuxMrEFis 1D/QsgW7DT/kOXtp5FSHPU4apKmKGSTTH7s/fQ5FcT3JAxuTYt3EL/7tQGIwD87lk15T Vr3dq9VwT5rRKd2W/F13A5uFiWgDZylO56L6b4gVbOhRoTiOQomYflSFSxtilmWAZ3iI PZKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hnmYm43g; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dy23-20020a05640231f700b0051e0d47587asi14235295edb.276.2023.07.17.06.20.29; Mon, 17 Jul 2023 06:20:53 -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=hnmYm43g; 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 S229745AbjGQNSM (ORCPT + 99 others); Mon, 17 Jul 2023 09:18:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53934 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231447AbjGQNRd (ORCPT ); Mon, 17 Jul 2023 09:17:33 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F13DB35A4; Mon, 17 Jul 2023 06:16:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599809; x=1721135809; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eM7kiPjmTLQio1i2Y+4XMgthvj6f/Qoaha85fysez6A=; b=hnmYm43gcfZ/+CdyaXr0bph6AGwH/LZ+4cPcffC1aoTXPZkjxcW65L29 2Nl2kgT55IWm5Gj6ByHwZNF4qR8XfqatJEjdxJUI9hfDwDXbSxfTviwdW ri0fXLtWJ4MLD7iiSEw8ChwZmbH2c1TFk8+i7DaqdzjqtL7QWSX1p4dIL 2gMIJMdTt2IajSezKg1VVsSUnZmi3bF0Tc6SrnWWnEfucCr5XvWY1ocpy nFR/ONdmUFd4CVzmowNWVsFu5oAjPo3Q2ZZdS2/ZCTVYsUKJAyQK/rhYu CTtI3gPWj2s4zj53G8ZyFu4Alfg1WS1iheqOuH+oH5mifiOWSgvOTzl3R A==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569149" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569149" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247156" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247156" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:35 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 15/19] selftests/resctrl: Don't pass test name to fill_buf Date: Mon, 17 Jul 2023 16:15:03 +0300 Message-Id: <20230717131507.32420-16-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771674066001160079 X-GMAIL-MSGID: 1771674066001160079 Test name is passed to fill_buf functions so that they can loop around buffer only once. This is required for CAT test case. To loop around buffer only once, caller doesn't need to let fill_buf know which test case it is. Instead, pass a boolean argument 'once' which makes fill_buf more generic. As run_benchmark() no longer needs to pass the test name to run_fill_buf(), a few test running functions can be simplified to not write the test name into the default benchmark_cmd. The has_ben argument can also be removed now from those test running functions. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 3 +-- tools/testing/selftests/resctrl/fill_buf.c | 20 +++++++++---------- tools/testing/selftests/resctrl/resctrl.h | 2 +- .../testing/selftests/resctrl/resctrl_tests.c | 14 +++++-------- tools/testing/selftests/resctrl/resctrlfs.c | 11 +++++++--- 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 63b551c44f1d..8ae9ac150fd3 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -247,8 +247,7 @@ int cat_val(struct resctrl_val_param *param) if (ret) break; - if (run_fill_buf(param->span, memflush, operation, - resctrl_val)) { + if (run_fill_buf(param->span, memflush, operation, true)) { fprintf(stderr, "Error-running fill buffer\n"); ret = -1; goto pe_close; diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index 5f16c4f5dfbf..0d425f26583a 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -101,15 +101,14 @@ static void fill_one_span_write(unsigned char *buf, size_t buf_size) } } -static int fill_cache_read(unsigned char *buf, size_t buf_size, - char *resctrl_val) +static int fill_cache_read(unsigned char *buf, size_t buf_size, bool once) { int ret = 0; FILE *fp; while (1) { ret = fill_one_span_read(buf, buf_size); - if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) + if (once) break; } @@ -125,19 +124,18 @@ static int fill_cache_read(unsigned char *buf, size_t buf_size, return 0; } -static int fill_cache_write(unsigned char *buf, size_t buf_size, - char *resctrl_val) +static int fill_cache_write(unsigned char *buf, size_t buf_size, bool once) { while (1) { fill_one_span_write(buf, buf_size); - if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) + if (once) break; } return 0; } -static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) +static int fill_cache(size_t buf_size, int memflush, int op, bool once) { unsigned char *buf; int ret; @@ -151,9 +149,9 @@ static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) mem_flush(buf, buf_size); if (op == 0) - ret = fill_cache_read(buf, buf_size, resctrl_val); + ret = fill_cache_read(buf, buf_size, once); else - ret = fill_cache_write(buf, buf_size, resctrl_val); + ret = fill_cache_write(buf, buf_size, once); free(buf); @@ -166,12 +164,12 @@ static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) return 0; } -int run_fill_buf(size_t span, int memflush, int op, char *resctrl_val) +int run_fill_buf(size_t span, int memflush, int op, bool once) { size_t cache_size = span; int ret; - ret = fill_cache(cache_size, memflush, op, resctrl_val); + ret = fill_cache(cache_size, memflush, op, once); if (ret) { printf("\n Error in fill cache\n"); return -1; diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 3054cc4ef0e3..645ad407bd8d 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -97,7 +97,7 @@ int write_bm_pid_to_resctrl(pid_t bm_pid, char *ctrlgrp, char *mongrp, char *resctrl_val); int perf_event_open(struct perf_event_attr *hw_event, pid_t pid, int cpu, int group_fd, unsigned long flags); -int run_fill_buf(size_t span, int memflush, int op, char *resctrl_val); +int run_fill_buf(size_t span, int memflush, int op, bool once); int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param); int mbm_bw_change(size_t span, int cpu_no, char *bw_report, char **benchmark_cmd); void tests_cleanup(void); diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 125ed0ca11e3..d511daeb6851 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -70,7 +70,7 @@ void tests_cleanup(void) cat_test_cleanup(); } -static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, +static void run_mbm_test(char **benchmark_cmd, size_t span, int cpu_no, char *bw_report) { int res; @@ -88,8 +88,6 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, goto umount; } - if (!has_ben) - sprintf(benchmark_cmd[4], "%s", MBA_STR); res = mbm_bw_change(span, cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBM: bw change\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -123,7 +121,7 @@ static void run_mba_test(char **benchmark_cmd, int cpu_no, char *bw_report) umount_resctrlfs(); } -static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) +static void run_cmt_test(char **benchmark_cmd, int cpu_no) { int res; @@ -140,8 +138,6 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) goto umount; } - if (!has_ben) - sprintf(benchmark_cmd[4], "%s", CMT_STR); res = cmt_resctrl_val(cpu_no, 5, benchmark_cmd); ksft_test_result(!res, "CMT: test\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -274,7 +270,7 @@ int main(int argc, char **argv) sprintf(benchmark_cmd[1], "%zu", span); strcpy(benchmark_cmd[2], "1"); strcpy(benchmark_cmd[3], "0"); - strcpy(benchmark_cmd[4], ""); + strcpy(benchmark_cmd[4], "false"); benchmark_cmd[5] = NULL; } @@ -292,13 +288,13 @@ int main(int argc, char **argv) ksft_set_plan(tests ? : 4); if (mbm_test) - run_mbm_test(has_ben, benchmark_cmd, span, cpu_no, bw_report); + run_mbm_test(benchmark_cmd, span, cpu_no, bw_report); if (mba_test) run_mba_test(benchmark_cmd, cpu_no, bw_report); if (cmt_test) - run_cmt_test(has_ben, benchmark_cmd, cpu_no); + run_cmt_test(benchmark_cmd, cpu_no); if (cat_test) run_cat_test(cpu_no, no_of_bits); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 8a66445079f8..bd36ee206602 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -304,8 +304,8 @@ void run_benchmark(int signum, siginfo_t *info, void *ucontext) { int operation, ret, memflush; char **benchmark_cmd; - char resctrl_val[64]; size_t span; + bool once; FILE *fp; benchmark_cmd = info->si_ptr; @@ -323,9 +323,14 @@ void run_benchmark(int signum, siginfo_t *info, void *ucontext) span = strtoul(benchmark_cmd[1], NULL, 10); memflush = atoi(benchmark_cmd[2]); operation = atoi(benchmark_cmd[3]); - sprintf(resctrl_val, "%s", benchmark_cmd[4]); + if (!strcmp(benchmark_cmd[4], "true")) + once = true; + else if (!strcmp(benchmark_cmd[4], "false")) + once = false; + else + PARENT_EXIT("Invalid once parameter"); - if (run_fill_buf(span, memflush, operation, resctrl_val)) + if (run_fill_buf(span, memflush, operation, once)) fprintf(stderr, "Error in running fill buffer\n"); } else { /* Execute specified benchmark */ From patchwork Mon Jul 17 13:15:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121350 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1139334vqt; Mon, 17 Jul 2023 07:15:19 -0700 (PDT) X-Google-Smtp-Source: APBJJlEpCjwS6O6706D8RPWtgp7gbfCoT4a92KtCIHtFaaulkjUK6CIrQyNTGD9VGUVx845BIy9/ X-Received: by 2002:a05:6a20:406:b0:132:a85f:b2e7 with SMTP id a6-20020a056a20040600b00132a85fb2e7mr11981383pza.53.1689603319447; Mon, 17 Jul 2023 07:15:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689603319; cv=none; d=google.com; s=arc-20160816; b=YrmJCTnXToSCAGGWkzkv1gyfMM1RCQevdbAppFB9HDiSPSlps/ttk3Bl1W/UJTdXUo /1+/voedRcFjgZXaR130MbrHTzCMyNxKHHy+iln//R36UGwwbPURiwjo2BJDi5abRkVu uM4y//ZnNqM4YPHJHCXZS6s4AAm9SybAmtVkcVmUqtI273wwm8fRrwTyGscTaTgbP5Gz u5mlzby/NPTGhhbmU7qjXnpFKrs5TVYYwRVb3LwgopNRXQEcyD6bZG/GDs5V9TCs+oU0 p8l20G2sAQXQzlf8djFcgGpep13eeTR+9OCO/KsBSiIVwzK1BYAIKoLa0udv+GJE9Eoj GYrQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RLBE1YoyoWqeHxXrKYYInKUTBCpQnqVj350N2Kjds1Y=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=x/H8MlePQyL2pg4yFbRHTamESCKjoYUMSAD3LWGOPI8Hv3d6UW0DTvloPGHRZdtRQp nUDpnbYbMdj4PeDqAogmRq3OmhL6kPEleyLDaI1/Vhuob1ekl7miP/eW03NQF4SmzHqn BmdSkszLulNVhDNcuqtkLiYSlb5X1CFImnLJIwkGcJ1ldjENHYGMBdG1G/YpyK4BajiE 3RB6+tXhxbolADwFcpA2amOQwsm1KJe/9zq+zK1gFzriq2UMUTm8cKJBXkQ+BlLPllav Ij3MXgzpHwu5Rh09Ecsfr20NlcBDGG9W4hYsvgZYqefHDDAT6R3UD42K/87A64TuFhXF NfmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bfacE8lP; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q7-20020a170902a3c700b001b9d53d1e12si11440476plb.242.2023.07.17.07.15.05; Mon, 17 Jul 2023 07:15:19 -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=bfacE8lP; 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 S231391AbjGQNSi (ORCPT + 99 others); Mon, 17 Jul 2023 09:18:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231667AbjGQNRz (ORCPT ); Mon, 17 Jul 2023 09:17:55 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 067582700; Mon, 17 Jul 2023 06:17:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599831; x=1721135831; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nMHFu8I/KBcO8tG+Kue5dvJUuon6szU2Yf05Mirxfqc=; b=bfacE8lPfwq5mIE3T+WFqeoNJ86VD5beHdEXzeifS5hP526OcLo/TVyW aLRuGpuSuAXILWydF51XPodDt8fmLBdtIGvnCrluT8oAdnAXbrNaGJqiu qjCfPlzkz+1dSsSqWjMRCTTGbtmO1bU4n+itjAM+iXRKrDIyYVYN4NYaO fzfPuAQwvudUCshUS5DQ3WmbxtVL/FDzjn1cpcmrYq+57XAJiF3dlEVuK Irze6q/c9L+CivxICzRx9TTUJZZFxzwk1rT4TG4HSWAa9+FSaeNr8ZAsq 0YHwpHKcyP9FRTdOP7VDAbUDIaX226iz05f2TmjFzhH7k+4ya+ca9ojSS Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569234" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569234" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247287" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247287" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:47 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 16/19] selftests/resctrl: Don't use variable argument list for ->setup() Date: Mon, 17 Jul 2023 16:15:04 +0300 Message-Id: <20230717131507.32420-17-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771677490640604041 X-GMAIL-MSGID: 1771677490640604041 struct resctrl_val_param has ->setup() function that accepts variable argument list. All test cases use only 1 argument as input and it's the struct resctrl_val_param pointer. Instead of variable argument list, directly pass struct resctrl_val_param pointer as the only parameter to ->setup(). Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 2 +- tools/testing/selftests/resctrl/cat_test.c | 8 +------- tools/testing/selftests/resctrl/cmt_test.c | 9 +-------- tools/testing/selftests/resctrl/mba_test.c | 8 +------- tools/testing/selftests/resctrl/mbm_test.c | 8 +------- tools/testing/selftests/resctrl/resctrl.h | 3 +-- tools/testing/selftests/resctrl/resctrl_val.c | 2 +- 7 files changed, 7 insertions(+), 33 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 8ae9ac150fd3..9c0e4ce4f28e 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -236,7 +236,7 @@ int cat_val(struct resctrl_val_param *param) /* Test runs until the callback setup() tells the test to stop. */ while (1) { if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) { - ret = param->setup(1, param); + ret = param->setup(param); if (ret == END_OF_TESTS) { ret = 0; break; diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index 480db0dc4e0e..42e35269d8b6 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -27,17 +27,11 @@ static unsigned long cache_size; * con_mon grp, mon_grp in resctrl FS. * Run 5 times in order to get average values. */ -static int cat_setup(int num, ...) +static int cat_setup(struct resctrl_val_param *p) { - struct resctrl_val_param *p; char schemata[64]; - va_list param; int ret = 0; - va_start(param, num); - p = va_arg(param, struct resctrl_val_param *); - va_end(param); - /* Run NUM_OF_RUNS times */ if (p->num_of_runs >= NUM_OF_RUNS) return END_OF_TESTS; diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index beb0f0687c6d..7214aefb55ed 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -21,15 +21,8 @@ static char cbm_mask[256]; static unsigned long long_mask; static unsigned long cache_size; -static int cmt_setup(int num, ...) +static int cmt_setup(struct resctrl_val_param *p) { - struct resctrl_val_param *p; - va_list param; - - va_start(param, num); - p = va_arg(param, struct resctrl_val_param *); - va_end(param); - /* Run NUM_OF_RUNS times */ if (p->num_of_runs >= NUM_OF_RUNS) return END_OF_TESTS; diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c index 3d53c6c9b9ce..4d2f145804b8 100644 --- a/tools/testing/selftests/resctrl/mba_test.c +++ b/tools/testing/selftests/resctrl/mba_test.c @@ -22,18 +22,12 @@ * con_mon grp, mon_grp in resctrl FS. * For each allocation, run 5 times in order to get average values. */ -static int mba_setup(int num, ...) +static int mba_setup(struct resctrl_val_param *p) { static int runs_per_allocation, allocation = 100; - struct resctrl_val_param *p; char allocation_str[64]; - va_list param; int ret; - va_start(param, num); - p = va_arg(param, struct resctrl_val_param *); - va_end(param); - if (runs_per_allocation >= NUM_OF_RUNS) runs_per_allocation = 0; diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index 2d58d4b8a918..c7de6f5977f6 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -86,16 +86,10 @@ static int check_results(size_t span) return ret; } -static int mbm_setup(int num, ...) +static int mbm_setup(struct resctrl_val_param *p) { - struct resctrl_val_param *p; - va_list param; int ret = 0; - va_start(param, num); - p = va_arg(param, struct resctrl_val_param *); - va_end(param); - /* Run NUM_OF_RUNS times */ if (p->num_of_runs >= NUM_OF_RUNS) return END_OF_TESTS; diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 645ad407bd8d..838d1a438f33 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -3,7 +3,6 @@ #ifndef RESCTRL_H #define RESCTRL_H #include -#include #include #include #include @@ -68,7 +67,7 @@ struct resctrl_val_param { char *bw_report; unsigned long mask; int num_of_runs; - int (*setup)(int num, ...); + int (*setup)(struct resctrl_val_param *param); }; #define MBM_STR "mbm" diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index e8f1e6a59f4a..f0f6c5f6e98b 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -759,7 +759,7 @@ int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param) /* Test runs until the callback setup() tells the test to stop. */ while (1) { - ret = param->setup(1, param); + ret = param->setup(param); if (ret == END_OF_TESTS) { ret = 0; break; From patchwork Mon Jul 17 13:15:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121319 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1115638vqt; Mon, 17 Jul 2023 06:35:50 -0700 (PDT) X-Google-Smtp-Source: APBJJlFrlrW2RsG7SJe0kq/GwH8FizTzFiggre22AlhCUXSJsfDVJaYrI4pDvTIelaR1nYzwcUZk X-Received: by 2002:a17:902:7085:b0:1b8:4ee8:8f24 with SMTP id z5-20020a170902708500b001b84ee88f24mr12049937plk.20.1689600949877; Mon, 17 Jul 2023 06:35:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600949; cv=none; d=google.com; s=arc-20160816; b=Ac+Z2IzFsDNXZr327dvQ88jqIHrSh50DVC2HrtFeDxHU9wvfq3W66In62aaegzQ+rT UTTgE2cBcc/gAdOtIelBgTj5bPP2j+GJIBaoUQM1wOaeL11OlC2eRJHt7t6k8FBRqDTJ /Y7DID0p11gZ8S5YYA5pG5caMX+sMV+N0gcxx+xKWM3Rp6Jx2ZI5UpNB8f9IpDs+T/yd ksa/k8L5hwX/I7WGAMcVPfgthinfLbGJY9MXYNWSvelqoCZL10nGOGgdPLLCDI1GnFcE DWzXfH85YO+j+66QHDcjLAFh6i7YvAw+fVy7fgSODFkvICrqNqRzTryEOGlEKcJezeSR WRQw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=t7TjCHggupaCb3By2S6xZLbeABNkjCNV4ox/CXgUUJo=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=p7MQ8QchqB8V6JnQ+I1/kJCOfUyFnNpXoXJuFmCEbsmeRb6T8N97Ax3iwTh+8SvxYS wSqKm2mh2mBIbDHIPmAQCe1tU5zlnojrw8BV3CVdGg+I7QzBG1Wsknj6qwbGTnkG0zpY aQJiuxzP8Jo9aISuOKCJhRE+XyBiqglHBPBGetqGsyqqGHf13QJvDMDfaJEe0fKIvlGr lfKFK4hHEBltW8qfXhDrhZmhKr9XvAnm+lNPuH225j0nTe/0mJMCaZZAFjcvTd/uAV7K ua5ZWr3BEYTHchoFdUh+GrNVr4YGQF8SZsqpOSYIurrpNEHEXI0vtQUgDR+lJDhkcJsS ixQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Uawry1mV; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t14-20020a1709027fce00b001bb0fdbfdc1si6578635plb.199.2023.07.17.06.35.36; Mon, 17 Jul 2023 06:35:49 -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=Uawry1mV; 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 S231570AbjGQNSl (ORCPT + 99 others); Mon, 17 Jul 2023 09:18:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231672AbjGQNR4 (ORCPT ); Mon, 17 Jul 2023 09:17:56 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8BBA6270D; Mon, 17 Jul 2023 06:17: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=1689599832; x=1721135832; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8dyhHZxvUBvgzLfAW2CztItj+tdrTbfblHrZWtgClfw=; b=Uawry1mVlnijETfG+EIefpdDGDnB8XsIFzSMPr9tkBBRxpkRBL56nB52 R+NgWtBxb4tS84QqJPCLn2Qm+NJxdp1YEjiPAsUgydJmfoS4lfU3aXMci QH7rGY7FPmlR7pQ9fFKKwt3JUKq0/wc8wPUDEvu179OBxpKvregHIVZuB JMCdbNLL9nN8kI0E28SCOF6avkHp0YP6nz4CiPMrD6yvQZNeLD/5aA2h7 heGlB6igM/aLHzAJMwIS/QJhkQDIbO5cVSEI5wUWjKszILFC9EpXm23la YI8LnSgr/xCARnMV7/o4DqfNjCQkx/lNMYut8VwXZyNHqR++SIySExzU0 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569256" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569256" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247301" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247301" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:51 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 17/19] selftests/resctrl: Move CAT/CMT test global vars to function they are used in Date: Mon, 17 Jul 2023 16:15:05 +0300 Message-Id: <20230717131507.32420-18-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771675005652786135 X-GMAIL-MSGID: 1771675005652786135 CAT and CMT tests have count_of_bits, long_mask, cbm_mask, and cache_size global variables that can be moved into the sole using function. Make the global variables local variables of the relevant function to scope them better. While at it, move cache_size initialization into the declaration line. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cat_test.c | 11 ++++------- tools/testing/selftests/resctrl/cmt_test.c | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index 42e35269d8b6..ed6c8e64ad11 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -17,11 +17,6 @@ #define MAX_DIFF_PERCENT 4 #define MAX_DIFF 1000000 -static int count_of_bits; -static char cbm_mask[256]; -static unsigned long long_mask; -static unsigned long cache_size; - /* * Change schemata. Write schemata to specified * con_mon grp, mon_grp in resctrl FS. @@ -96,10 +91,12 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) { unsigned long l_mask, l_mask_1; int ret, pipefd[2], sibling_cpu_no; + unsigned long cache_size = 0; + unsigned long long_mask; + char cbm_mask[256]; + int count_of_bits; char pipe_message; - cache_size = 0; - /* Get default cbm mask for L3/L2 cache */ ret = get_cbm_mask(cache_type, cbm_mask); if (ret) diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index 7214aefb55ed..0ac9d6bbd13d 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -16,11 +16,6 @@ #define MAX_DIFF 2000000 #define MAX_DIFF_PERCENT 15 -static int count_of_bits; -static char cbm_mask[256]; -static unsigned long long_mask; -static unsigned long cache_size; - static int cmt_setup(struct resctrl_val_param *p) { /* Run NUM_OF_RUNS times */ @@ -75,10 +70,12 @@ void cmt_test_cleanup(void) int cmt_resctrl_val(int cpu_no, int n, char **benchmark_cmd) { + unsigned long cache_size = 0; + unsigned long long_mask; + char cbm_mask[256]; + int count_of_bits; int ret; - cache_size = 0; - if (!validate_resctrl_feature_request(CMT_STR)) return -1; From patchwork Mon Jul 17 13:15:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121316 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1115386vqt; Mon, 17 Jul 2023 06:35:23 -0700 (PDT) X-Google-Smtp-Source: APBJJlFS/KlJodtXIcUVixPewAj5O5pvvpwyeYZ2IiE00fkFVirTjIWjbgNenOs9YvUWZLrhGv7Z X-Received: by 2002:a17:902:ef92:b0:1b7:c796:93ee with SMTP id iz18-20020a170902ef9200b001b7c79693eemr10695865plb.6.1689600923437; Mon, 17 Jul 2023 06:35:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600923; cv=none; d=google.com; s=arc-20160816; b=OiOnA0EnYexNcIOQQoHXsVJOs7esRdB8E3izwQYRMI/ebj4WarbEISsuSAsFSOCPkL fKF5teP9oLwLf5GTHEUMb1ia+1mVq2ns2qfVcUQx+w6Qts+s/W7tGYuLPzYNp7OJv1Xd n+W+YH6+w1auk902Nta55yRX2CIJOyCdHlsvh1BqAcR+55iLFtTsJh+xKnbvZeXG+YbB vg2TOtKMGmlew7HqndoeRfzPt68r7GdQ13ZRLaG/LXF6AqykkIuaU21zSPA5OiEkwwZy /xFRcIVkHdOGHUrBLV+q2AoO9pezeNJOTaqs1i77U/RD2AxPrhCRMolonGfnrG6+JKNW JCtw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3rn5Z0Jjk7Hbu1ksFgME4VoLkhDOEXPBuwAg5BvPYZk=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=A8XzO+OO5TXljS+1B/7WCRILT1bAEAjHJK0t7yxEHUKye2ZXtds7X/9V430bsllbjh pzuBDlk125N8qrF2SphUCCYPgjjUTjMXUZ+XByommQ7TE5K0560/JVG3tkirzUrRrVcN 4+5R3raL3xbRRRg/cxxAnYHJU56nUjzr0XKr8M7SjLLdh3ahH54wHAtDCcLUkWO+JCWR Aj054Ulu4oKXs/J8EwkKSlqYJSl1DnXrfPFC8z68QCBFAxktUZbftx73O8i6s4mKR+s1 Exvq/02kOMa/3hYOV3Uycjo/qELLglqegeu9E8gOyk31AosvpEe6HoVb8/ZQ+9zA5P+Q 5xwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="UkLtFl/U"; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l16-20020a170902f69000b001b9f75c8bfasi11117896plg.424.2023.07.17.06.35.10; Mon, 17 Jul 2023 06:35:23 -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="UkLtFl/U"; 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 S229637AbjGQNS4 (ORCPT + 99 others); Mon, 17 Jul 2023 09:18:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231679AbjGQNR4 (ORCPT ); Mon, 17 Jul 2023 09:17:56 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 53498271E; Mon, 17 Jul 2023 06:17:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599833; x=1721135833; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ROWSexuRSkjLBp5zsadLSaeVK5yuGzSA+XIWbbqeQmY=; b=UkLtFl/UFwbeA6cwNFNZVdof3uIJvFh5gJDLN8vFtkWPGXzyqBTxDZ7U AI60eEnJzWfA7t5tAAClb/VoaWSpObRtH9p1pa/HLP8CDtSiobUR6e9pA VxfQg9UzxKRwwE3VvJIVnUJC+dt/JfPEWhas0aK8Qx+GQfAlkPZjzUoZe RwZkPgm55GzmNNDFaHggbjm7XQzb3YYsLE3D7Bpp22Bg/Wh0Ebbf8weHQ OHfFWPKOFpqtb2lc0EpDGXX167GducyvYZXGfOp3+36iRVySFWPxAvpqj JUtDlGSOmJlghp1FK2e+/lNLxbnQp7absDGsDe8NMucb3qJV08WjNVup7 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569274" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569274" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247324" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247324" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:54 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 18/19] selftests/resctrl: Pass the real number of tests to show_cache_info() Date: Mon, 17 Jul 2023 16:15:06 +0300 Message-Id: <20230717131507.32420-19-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771674978100870797 X-GMAIL-MSGID: 1771674978100870797 Results include warm-up test which is discarded before passing the sum to show_cache_info(). show_cache_info() handles this by subtracting one from the number of tests in divisor. It is a trappy construct to have sum and number of tests parameters to disagree like this. A more logical place for subtracting the skipped tests is where the sum is calculated so move it there. Pass the correct number of tests to show_cache_info() so it can be used directly as the divisor for calculating the average. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 2 +- tools/testing/selftests/resctrl/cat_test.c | 2 +- tools/testing/selftests/resctrl/cmt_test.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 9c0e4ce4f28e..18ebd1324cb3 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -294,7 +294,7 @@ int show_cache_info(unsigned long sum_llc_val, int no_of_bits, long avg_diff = 0; int ret; - avg_llc_val = sum_llc_val / (num_of_runs - 1); + avg_llc_val = sum_llc_val / num_of_runs; avg_diff = (long)abs(cache_span - avg_llc_val); diff_percent = ((float)cache_span - avg_llc_val) / cache_span * 100; diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index ed6c8e64ad11..3848dfb46aba 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -77,7 +77,7 @@ static int check_results(struct resctrl_val_param *param) no_of_bits = count_bits(param->mask); return show_cache_info(sum_llc_perf_miss, no_of_bits, param->span / 64, - MAX_DIFF, MAX_DIFF_PERCENT, NUM_OF_RUNS, + MAX_DIFF, MAX_DIFF_PERCENT, runs - 1, get_vendor() == ARCH_INTEL, false); } diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index 0ac9d6bbd13d..cb2197647c6c 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -59,7 +59,7 @@ static int check_results(struct resctrl_val_param *param, int no_of_bits) fclose(fp); return show_cache_info(sum_llc_occu_resc, no_of_bits, param->span, - MAX_DIFF, MAX_DIFF_PERCENT, NUM_OF_RUNS, + MAX_DIFF, MAX_DIFF_PERCENT, runs - 1, true, true); } From patchwork Mon Jul 17 13:15:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 121310 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1108260vqt; Mon, 17 Jul 2023 06:22:32 -0700 (PDT) X-Google-Smtp-Source: APBJJlF57/s2bbmZD0q3ZzaxeKen1r/h1/sPxkcBayym42moUhcKHWPrwLbuuHSJ89AYHGC8tLUK X-Received: by 2002:aa7:d311:0:b0:51d:955f:9e17 with SMTP id p17-20020aa7d311000000b0051d955f9e17mr11090893edq.16.1689600151953; Mon, 17 Jul 2023 06:22:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689600151; cv=none; d=google.com; s=arc-20160816; b=O1ohtkNzyawZ5HxvQadpSglFMbS9RgkIe9/nboORdIyeHfHhNc0ozw12JYDKZLunuA HYUbxm77WItrMXX7VI4Svlo9OeHikHu7YvVj2A0Qmf+WPdOPRbYRcVv0GDCmzBG79Ruk G7Fz6dYHc4QWu/uss0wwrxnmFaVcYGOXstTxKGJN4VJ4H+iUJaXRPFk59CZemnrdrMMH d1tmfykiMb4MPRYrd2+h7gxjTlfxnCoSyJ0OSLJjJCrwhhUA2ERld5k1Q/R/G0lcvv51 woc2wLk8zvcB7kRfzuOr8/TyNRoevCpu+LIJOVKEYO8YRPBT1upYv+BTavgHJVQJGW5e egkg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RoDa6iOAq7GIYz0OB4GzgSQ0vsNFyhCGBgplPSZXkJE=; fh=5X3Lx8cw0givIDQMFqtYjXedWhBUH434kx1QLWoNROQ=; b=DHiT8NMfemvv4EKvSRltBgkafRVDZafpRIaWjAOfV9/dARAhcEl1PeZIG3VE735dXt AnhgBQ3unrB0uRFtSs2qUVIvUMMBpAu1wDf9Wg7F+Pp52nbP/xEjjoQUYEd28reCQumX cvG3ubDmVSZyx0XA/Xy3q52Sksirb1a00ncryt3BfHDL4gWsYxvwzqUndsV9qeiQ930L SzzmX1sCH4usw+auaAY0VDut/uHstdtSTsc/j9geYCcR6DrHxW0zUPep6ihtROHUAy7S 0oWRZAUCeGFBfSYJTHvf3xRY+d2igfClkXS/3vgE3KS/5YIPdtDUX6KrxXpEaodDo9hH IUUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Fia5R+l4; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dy23-20020a05640231f700b0051e0d47587asi14235295edb.276.2023.07.17.06.22.07; Mon, 17 Jul 2023 06:22:31 -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=Fia5R+l4; 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 S231600AbjGQNTO (ORCPT + 99 others); Mon, 17 Jul 2023 09:19:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231563AbjGQNSl (ORCPT ); Mon, 17 Jul 2023 09:18:41 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3EA6830DF; Mon, 17 Jul 2023 06:17:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689599855; x=1721135855; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=J1TVPhglmPyef33VOHsKcPA5LwHiM2UJevhSWt6TPmY=; b=Fia5R+l4VVNuMUq1PM2EogweFj0VBgPTy7WNgduXg5vBuFqATHoO2h0x ObhPWDQ57uU1yQIuutu8O0mSbQmlf3BmvxUtrH+0sNztEmpZsscN8tJPy 7mvGKGaLmXePGno6PtQLD2W9uKzHKexM0uWm4uh6uUNyuq80X1qE3Zx7y bPP0jmXq/g+ANGM3W2lvksWYpPJcGGHtHFMVIpgSI98bopiq3D0Sxv87E 6TaeEwkDavZ9z8EJNohBduODXyQc4iYwJXVara5aVTufEEqXJTOSP20jc j5ULX9oc97dvDgSz6BK4u49n40RjTGVz1EZuCdSSwfJe/GqM2UcqCSr2p Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="368569293" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="368569293" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:17:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="793247336" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="793247336" Received: from dkravtso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.45.233]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2023 06:16:58 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Maciej Wieczor-Retman , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v5 19/19] selftests/resctrl: Remove test type checks from cat_val() Date: Mon, 17 Jul 2023 16:15:07 +0300 Message-Id: <20230717131507.32420-20-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> References: <20230717131507.32420-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771674168970627192 X-GMAIL-MSGID: 1771674168970627192 cat_val() is only used during CAT test but it checks for test type. Remove test type checks and the unused else branch from cat_val(). Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 47 +++++++++++-------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 18ebd1324cb3..d3cbb829ff6a 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -230,38 +230,31 @@ int cat_val(struct resctrl_val_param *param) if (ret) return ret; - if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) - initialize_llc_perf(); + initialize_llc_perf(); /* Test runs until the callback setup() tells the test to stop. */ while (1) { - if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) { - ret = param->setup(param); - if (ret == END_OF_TESTS) { - ret = 0; - break; - } - if (ret < 0) - break; - ret = reset_enable_llc_perf(bm_pid, param->cpu_no); - if (ret) - break; - - if (run_fill_buf(param->span, memflush, operation, true)) { - fprintf(stderr, "Error-running fill buffer\n"); - ret = -1; - goto pe_close; - } - - sleep(1); - ret = measure_cache_vals(param, bm_pid); - if (ret) - goto pe_close; - - close(fd_lm); - } else { + ret = param->setup(param); + if (ret == END_OF_TESTS) { + ret = 0; break; } + if (ret < 0) + break; + ret = reset_enable_llc_perf(bm_pid, param->cpu_no); + if (ret) + break; + + if (run_fill_buf(param->span, memflush, operation, true)) { + fprintf(stderr, "Error-running fill buffer\n"); + ret = -1; + goto pe_close; + } + + sleep(1); + ret = measure_cache_vals(param, bm_pid); + if (ret) + goto pe_close; } return ret;