From patchwork Mon Jun 5 18:01:27 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: 103415 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2867683vqr; Mon, 5 Jun 2023 11:12:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6L8dLP8dDeaFC+sS53GgJhvcrRIF2Afsx7IqI2D4CPgHWhnIQJ1I1icEr4nGsErtJvms0J X-Received: by 2002:a05:6a20:3943:b0:10a:be5c:6e3d with SMTP id r3-20020a056a20394300b0010abe5c6e3dmr7796953pzg.13.1685988759120; Mon, 05 Jun 2023 11:12:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988759; cv=none; d=google.com; s=arc-20160816; b=hvABG5PYnMEKazkZdAEDmmTst7ytUbjoMBnzyPGnzM3OREaGbAVOk6VWq7SN2erEdL w8IOiJQKzNDecleXfVGBOwL1yV2Uaxud5mp4+Wm/z4APflD6kD/lhxZVXO+lv/6Zx/nR a2ESdDU7PHLfTO5fiQR5UgyTuUzASYMV7ShluymoQa8tVS5x1oYOej+9DS1Mhm0Ahr/S 0QT/purcEHOATLdFVkgIBtFu0hS0UxqDFUr1Gp86P3uTtEezV9u0ZLkVBFUhNLoYNmpA KUslMwuE4uWxVhwX7Tt6ACZLeToXpXe5WwyjBm4e63I3xIOtNyAUsTGKd+74cM0LsFo2 WKiQ== 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=IvUYbSP2zq/xbFyf3zG6mE2/xkGGr5C50J32wWKNos4=; b=ZWHvISmKk6E9AFMJ+mQ+vBE35ANd1lawinwQpFJy1FoW7qxRlmTMdPrP+TooRDJwHx AmWZY9Akr476TyAsrjDsqZ97CNbKryWm7nPx9egiat7PUN9urdG6JaFRBRAetAp6qYd9 eaurE5Jvjn4ndk1qkrzgNpt/RGSg6EgJnozrn1oUaeAr0GLX9ir3d7dC5rrh6lDIjKyy AHtomOx5DSX5AyTt4I2y9zIiyOAtAI1ZXitMgq85ijpHiTPxywxK2lBBl20Grzsw3gWK fSt0W/dMN+3lMyZn0Ca2ZTsI3X7eKuIW2vHnF9neAu/dxyR212aX1qwEWCQqgYviaqNX wfRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NKNgKZYD; 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 15-20020a63020f000000b00543ad8b8807si2139957pgc.826.2023.06.05.11.12.23; Mon, 05 Jun 2023 11:12: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=NKNgKZYD; 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 S234363AbjFESCV (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232036AbjFESCQ (ORCPT ); Mon, 5 Jun 2023 14:02:16 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35A73C7; Mon, 5 Jun 2023 11:02:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988135; x=1717524135; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=GfdCAOh9DszUxeIi/d59C0n2Wm3we7mqJ8T1ceHWh+Q=; b=NKNgKZYDW4EIiYKeWX3g0OplolZJOk05m/fRqX8phFFixYDt6Q6arWQU 87E5Mvf9ZnZdOz/es4ZEqsRAd9lu22I0hHAx2sEPlwwGen6kSLn6zn+OA hNhPLWjINl5+fuaFmmB6VGu7ZwdCvMil3mE9QCFt9oJcVIr/OVWQNh6io WEGPkTRg3YyDO/hBAX668haTvK4iuixO+oy8+eyP3LkWQfoXTu1zNhN+w WhUu6FzdMrm7bmMTPwxFiYUWmzBtvFDoro/1eCSLJam2xjY8zH2C1sD8N zu1nTkV0Xp++xd3lzlgfcuDwBjnPinxBYOzM7TPqn7DEgSXnVvQpUGaNS g==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442814842" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442814842" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:01:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821273977" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821273977" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:01:55 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Sai Praneeth Prakhya , Babu Moger , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 01/19] selftests/resctrl: Add resctrl.h into build deps Date: Mon, 5 Jun 2023 21:01:27 +0300 Message-Id: <20230605180145.112924-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887349176801878?= X-GMAIL-MSGID: =?utf-8?q?1767887349176801878?= 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 --- 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 Jun 5 18:01:28 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: 103414 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2866648vqr; Mon, 5 Jun 2023 11:10:56 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7PBtLdd+h+jymfbhdd9o1z/ZrrdHhJ2zHeos35jKIGj31yqfT2Gk4fmwTHfHCZIw7mu9P8 X-Received: by 2002:a17:90a:dd46:b0:258:a161:2e3c with SMTP id u6-20020a17090add4600b00258a1612e3cmr4535931pjv.36.1685988656276; Mon, 05 Jun 2023 11:10:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988656; cv=none; d=google.com; s=arc-20160816; b=Pr2K5o1wXMlVc5Ppii1F8CSqihLrJNAwtP++r7ed48LcjCRszyXvM0kb2A9wKBvNsh DpVx+NhPNTvLoYysYia+DOHuAUxsZgZjpLrd3ANK6nVUbCdzf1YPNlY4vNRUuE+8xk93 bfM/78KsVe96LLYgicHluRJHelTu0igapoJPxyvcPwmWZp+yBzWHW0A+SfuZS9yVpofS bO2Iwa7K3QsmvbJtd+ZZEmLqSSAtfrGxIuIyAV8tkB/JK+LKs8eEzyOfgmNb/KmvSDLE pbvfSOzhTAzjvcFmrRwPGB9OeO19JdrlcBlZJRbjM2Atb4GihQ23mfhfkT0wQr18+09E eDAw== 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=m3b7ZAhCMxSN1BcImyV0DQCirPKWDf2KMZx9LMdHM2Q=; b=gtZ8SO+AUGkYwslZxW/DADPzXwHtshTcvpuXbt/m9ThDpG0GQ1rPcbyFm7lwzHqhfw Z2ci4bzHpHZLfDGpPul8RWUk6Lar5xT7MohBVAUaRHDFc8cCtsaDF+iNQwg4SB8WLB69 M9GSkxY2acYzwTbdLTw6CGmWaRPamn05dCLtsbt0ccN4GJXtUsLHDR3kvqe5dRYhDgup o0++EuCTKJ6XqIrGQBEEluSV0zy68elFd46ytIdb3moSk5590STV7Q0cIyNRtsFMl7xf PR/vXXWt4UCLDSXo0cRgFWZN1pCZJXgMutfztJ486gx01v3N7wmqGiGscoWAgIkdFLtE +H1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UCiX1o+j; 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 b2-20020a17090a12c200b0025693afd311si7792879pjg.43.2023.06.05.11.10.40; Mon, 05 Jun 2023 11:10:56 -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=UCiX1o+j; 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 S234595AbjFESCZ (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231991AbjFESCU (ORCPT ); Mon, 5 Jun 2023 14:02:20 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 24D7BC7; Mon, 5 Jun 2023 11:02:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988139; x=1717524139; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eyfFQOIKAZuYYHklcPqdTE2gmRhrKpH4qZtrSJz6apA=; b=UCiX1o+jx22AjiaMs1fLXbwHvYCe9p0IjebKAb9IPsJKzIiYx9A2dqKb euL+XXV2kzhwrwBHlDaASBFCKjsvu+oQyEMAN2rUS1eAsFcnB6Y/XozMp PKGPfAfWKExeeCY+kyqyj4CjspiDpJ9rihm8vjxHhZHamMTvQrSKGtZIB 0iVOEB1QGgZ2WEvi4qUoB8nFa+ZYMDv6jAu8jsEOyMolym5eNj1eUsaNH G8AfUzfE6YRhm2fdywEUC+toeF5IV1/ebnPHbKVFRNr7uPXXyhaBInSou XupmDFTYUzWQPF7HSA0MK4znjFcNk25ZoGe5nFt5LV6k/EDZFUKB/fYQS A==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442814865" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442814865" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274014" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274014" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:02 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Colin Ian King , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 02/19] selftests/resctrl: Don't leak buffer in fill_cache() Date: Mon, 5 Jun 2023 21:01:28 +0300 Message-Id: <20230605180145.112924-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887241539925546?= X-GMAIL-MSGID: =?utf-8?q?1767887241539925546?= 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 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 --- 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 Jun 5 18:01:29 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: 103430 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2876134vqr; Mon, 5 Jun 2023 11:28:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6K7Z0+DlrwdHwmeOq5PD+vIWKjeFsMh3MMPATKlHQ2sfmetWEy1YBqzYukayr0tLUG473c X-Received: by 2002:a05:6a21:3705:b0:10e:ce12:356c with SMTP id yl5-20020a056a21370500b0010ece12356cmr2248957pzb.17.1685989719986; Mon, 05 Jun 2023 11:28:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989719; cv=none; d=google.com; s=arc-20160816; b=dBllqv9EeySY2gYZgtMdLFn4J71WqcBNUMs/0E1ukzUjguQGI++i+tol1Upu2+GZOV dvO0+uI9czKe1tx2ZuCfVXZf9SsgvymVkmCP8ckQf6BQJXM1NmGkDk9HH/JDwHOZQ85g rYTP/YKofFnWF7U5bsoRe4FAcJ+HpMeIMcmwKvBBiS6NsQ5dMwa2UGYPtJOpDNTgsDCA FmmKpQhd9qPOOIP7jIMRA1xgJMrlQ8G/WeOOybDuzp2Q/ChAdyezABu8YZkfgEgKLSbD EFWeg9sIGfYWHPtb5Zmuljg1nkSdRL8/FzMiuTZEPUlVJEgz6sbrPQWXcItWmGLdMUsc scwQ== 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=BgA+kVcVkVKzO718h4f1Lpy2XcgF6QzinBo5UZXYTzU=; b=1J2j6KVVzbPfP5Mk7YV02R+C7gM7J9lTfPwBw820CUo4w5MDlKpGD57opc70Ly1ARK nh5pk3s8Bf2r57jHFUnOMw+h8jrMAvYXIUyJwGWTgWRpGmgwffklQLUq3VSCG7hO/2vv 1k6OV50JOyltEG7b/qpeeiR36/vJAzm2rjUHQW+sP0KWmOHrWiddK/E97hvKeyeI+FlX rR/pCZwbcD7d2ArylQBAX1f/L5bDH85dCYtLhy7SrSYnjLgPPfwDqXAgqJt+sU1BsOrP nGH5ZOgqD715c5lSmweVx4yyLHptaBE4swu+egrB8xEb690ZOEbxKkgaS6e33cLP6UlJ N4ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=fiDJOz1F; 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 i15-20020a056a00004f00b0064d337029ecsi5678402pfk.200.2023.06.05.11.28.27; Mon, 05 Jun 2023 11:28: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=fiDJOz1F; 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 S234966AbjFESCb (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233449AbjFESCU (ORCPT ); Mon, 5 Jun 2023 14:02:20 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A0ACD2; Mon, 5 Jun 2023 11:02:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988140; x=1717524140; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8fEVbocJK76OsCYtzLBWGVMQr0k8AvV/EpnfvvAei/8=; b=fiDJOz1FnnWte9MAq/h2k6pZR7oU3vCYpew4zFRta0XmygQWdFN24ggG D8UVOexMGdw/0dN7soz/E/dYqXGbK94VFw2Axub+340OTqKNNUiZ9Xkee +NSqDmAgWSbbo9cUaMgrHivw/l1eCU5EFUDr7iCOi162FrGmXcLqx8fBw W+eWx5XgSo5CuPUxZ0CnAaH/xTbKPaub82AtkMGjHSI7nNY5BSUW2iDdu mbEUtsMfpv47yRgVGZteNd+sYq0v8+GIG7SIYGNhP9cWJP0Vt6ET2Rt8v VhWDlXqkjbTgdsXcUj5ihoSe0UAaxxlXo8hyEGX1ml3I1jhxPASmvKQWf Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442814885" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442814885" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274024" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274024" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:05 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Sai Praneeth Prakhya , Babu Moger , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 03/19] selftests/resctrl: Unmount resctrl FS if child fails to run benchmark Date: Mon, 5 Jun 2023 21:01:29 +0300 Message-Id: <20230605180145.112924-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767888356492000899?= X-GMAIL-MSGID: =?utf-8?q?1767888356492000899?= 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 --- 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 Jun 5 18:01:30 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: 103419 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2870087vqr; Mon, 5 Jun 2023 11:16:56 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ56Uz95yag3vw5oiDD+DApbTnD0glNMBqbOhu6GVKUZuCqInOZYvPcdqV871ZgUV9a/cXU7 X-Received: by 2002:a17:902:ce85:b0:1b2:1ab6:912e with SMTP id f5-20020a170902ce8500b001b21ab6912emr1344502plg.4.1685989016468; Mon, 05 Jun 2023 11:16:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989016; cv=none; d=google.com; s=arc-20160816; b=yc4sldQFuW0C1Txi7DEP8bvuXkJAmoCb7WGRwIq54fBnWq5ZiH595FjllLgfPxA3VJ 0hZHEomSbvZGsMe9Gm8GLk2w4KXcDylP+Nf0yJTvfzC0J7K1BKv6QXhgI13S2a6MEyot qY7rljlj0C7I1L2m3waU0ytzgHQlCaPiPf1t0XVw4U7obxRBywBIA6rrpBP6AV9w1ZPn OB9HMSm8xn6vcJkbDfgs4XIULMuJoufJK5XjVKHcQb3vBphlItz4lDeXynAzhYXlLPVx 8lZoUu94Wt9cU26pVAUtt0RDENuJrSpV8gQPoKETZeMJSWWAvxbgc+r2qz9GqJiFTgon IfwA== 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=0LLUpqGHRxNZQm9k99I7o0ydSvwm9+uS/tKGualXDnw=; b=ZDIgQUrhn3DYVGh1dPYA3kWij3k+5Q/EqwrztBRsvsPW73hg2QqOo91IwC9vB7+LQr ZNbSIOTSavd9zL/zVJ06KOA5hr63nLCk/JrYlGEU61Hg+mIZ0vWzEz8S+iR1Y9jlpOvB P0m0QmU8w06j13ASXIGNrScIzQ9Nf7mtADuwFGIshoVMjHsyD2P8ydmxCIr2inR70va+ IvnRQzjnBE3V42i9Jqn30QFM8HXQrS9BqvWbawRD6LLghemyzWE9JD3sEugZ/6ODp+n3 H3cffqQMw3hv8KZuFQDtotlJO6I/OUVDjlTFrNSqz0j0MwfGOMqncglyNVbWNVbrymkd HivQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JRTvNRAv; 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-20020a170902e84500b001ab089f7329si6112455plg.73.2023.06.05.11.16.41; Mon, 05 Jun 2023 11:16:56 -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=JRTvNRAv; 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 S235087AbjFESCe (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34514 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234800AbjFESCY (ORCPT ); Mon, 5 Jun 2023 14:02:24 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC452F9; Mon, 5 Jun 2023 11:02: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=1685988143; x=1717524143; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SfPvkmzWJcJdc6LqGPirAEzeqOxBh6wxev3IG7Dp8Fo=; b=JRTvNRAvtis4Iuzu5jWuQknTkfUv0iBjpLOK+i60bssRhnjg+iOFGXb8 J2SW+oeSEDMHNeGToQT0OxW/5gPGQ2Sg6mI7OLhlIEBP5Bst1eSg3gZS7 /WArnn+H94Nb6uxcBfvkbARB0y+TkzWx83axuuyxGzmS+hygOHLFDcedH CGsbn73xTVg3/Gqn+lz32u4HP+IKBjgqsIP1mNlWkeD0WWrcsy+G96UYq CsH74YOqPTwJS9LzvQZxjZvzLreOyj6ovD/u8w4oRS//S2nfetjLPg/jy q4PVgOtZEC9a60YFwuok+zhB+VRFocr283XSF1j3+t8XRDBO/7b0/VfMx w==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442814910" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442814910" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274036" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274036" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:08 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Sai Praneeth Prakhya , Babu Moger , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 04/19] selftests/resctrl: Close perf value read fd on errors Date: Mon, 5 Jun 2023 21:01:30 +0300 Message-Id: <20230605180145.112924-5-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887618554570024?= X-GMAIL-MSGID: =?utf-8?q?1767887618554570024?= Perf event fd (fd_lm) is not closed on some error paths. Always close fd_lm in get_llc_perf() and add close into an error handling block in cat_val(). Fixes: 790bf585b0ee ("selftests/resctrl: Add Cache Allocation Technology (CAT) selftest") Signed-off-by: Ilpo Järvinen --- tools/testing/selftests/resctrl/cache.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 8a4fe8693be6..ced47b445d1e 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -87,21 +87,20 @@ 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)); + close(fd_lm); + 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,6 +252,7 @@ int cat_val(struct resctrl_val_param *param) memflush, operation, resctrl_val)) { fprintf(stderr, "Error-running fill buffer\n"); ret = -1; + close(fd_lm); break; } From patchwork Mon Jun 5 18:01:31 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: 103433 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2877423vqr; Mon, 5 Jun 2023 11:31:04 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6QfYGOiXmSvA7kYbq4Gu1zW1WwClRxCCaU5xWV3eGCh6kQbblO/Y5ScddNCpzSdKbx4ffW X-Received: by 2002:a05:6a20:8f29:b0:110:d78f:8156 with SMTP id b41-20020a056a208f2900b00110d78f8156mr4101563pzk.19.1685989863960; Mon, 05 Jun 2023 11:31:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989863; cv=none; d=google.com; s=arc-20160816; b=F4BvBw5pMzCkiLMMGQ16NEJiOXADF8EB++PDiTTPq2pwzG6/qigWUhEvAotDedIy0M tKd63BEXUt9Ho658M4rbDEiTAK3aP0qnmuH3UceflGiRUv1WWPE2f6fkvrTjhC4VmBy+ JWViNhgMGyWUoJzRMqaMpVU1WBkBJuSA+py2gFfBVr8+iz+m9L/KW1WFJjqIly3HUdVp Fu2BSZYEnY83HIWFmdEGlN/0Gs+wFMqYcIiql4Mc9XqdRvGOrdVNk2JLoLKoQxeFREJp L/kZZ45LrQR6/v9qPumOGbDD1SzinmnFgYTftJgyCd1HgIYZBWg59EoWm4QVkUb7NBem Jm1Q== 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=dpqzRH/ORCxOUF3z48gARHGZ8rHCDWkFOO6vntUGZn4=; b=Ovmps9yXvrqllF/qp5lCZGIF7J2sVftWA72fzLWVTF+ZXMARD7FMmM+KijhtkPZbrU SgtgRyzdwoQY+6oyrXEX2AQ1xsOEUMco0ojppHNT3r8mXghDnc15w+iZq8mQ1tWzJa0d c8VCDBpDIM/T9tR09uczSO/Ekhpt7fBYSHgdopldDwTXzmuFOlTAVzkQ3a6QHX2XuJSJ 9stZsRdAPKNrVfB8ItaU6C7WMAlGPZEBNcuekO89ZsA6JyLu1bLHVvjURyg6SRIMEtfT iS+PuLtG5Z99kWFHlwGdihPQDlqsJCJPl2plHlGeI7yinMuEYInlLxdZ2LBhMCpU3zDE JEMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=COTaOf5c; 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 l190-20020a6388c7000000b0053481d76f48si5832940pgd.288.2023.06.05.11.30.51; Mon, 05 Jun 2023 11:31:03 -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=COTaOf5c; 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 S235001AbjFESCl (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234995AbjFESCc (ORCPT ); Mon, 5 Jun 2023 14:02:32 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF104100; Mon, 5 Jun 2023 11:02:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988145; x=1717524145; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8OshzN+NZ7thIMcFVOb/IWor20ob/nSgjx3NSLzz3Fc=; b=COTaOf5cGOWogRzhFr9ar3dzo0Ettl4SRJlfPKg30rCzCO+LAGUHdqYx 8ZUSIjXhJoDi9OXHJ8EWMNFVBTgxPgJdC9KsFErdKodH4sUmSeBEBvLhg WNgHVCUQQacorHrPG7apTTETJtusuas94FuX2d2I1dU3NO+4CStmnoM2A nmxHk0tIBsv957jFk0yApMiaiJH/Pfr1MvJo/43SS0wOX2Ub2gyWGG61F X1YwhESE5rbshNfBR1myFS7fNzM7SBDTU5syFxcscPAFWCra5sr8Rl7qQ S5aY704d0ILAPWdJGbpvUo4PpTWdeap+9mq/+uiKeMYKlxCm8sefIY54M g==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442814931" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442814931" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274046" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274046" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:12 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 05/19] selftests/resctrl: Unmount resctrl FS before starting the first test Date: Mon, 5 Jun 2023 21:01:31 +0300 Message-Id: <20230605180145.112924-6-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767888508086828573?= X-GMAIL-MSGID: =?utf-8?q?1767888508086828573?= 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 | 2 ++ tools/testing/selftests/resctrl/resctrlfs.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 9b9751206e1c..6fcf8fc3cfc0 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -223,6 +223,8 @@ int main(int argc, char **argv) if (geteuid() != 0) return ksft_exit_skip("Not running as root. Skipping...\n"); + umount_resctrlfs(); + if (has_ben) { /* Extract benchmark command from command line. */ for (i = ben_ind; i < argc; i++) { diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index fb00245dee92..23f75aeaa198 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -82,10 +82,12 @@ int remount_resctrlfs(bool mum_resctrlfs) int umount_resctrlfs(void) { - if (find_resctrl_mount(NULL)) + char mountpoint[256]; + + if (find_resctrl_mount(mountpoint)) return 0; - if (umount(RESCTRL_PATH)) { + if (umount(mountpoint)) { perror("# Unable to umount resctrl"); return errno; From patchwork Mon Jun 5 18:01:32 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: 103412 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2862057vqr; Mon, 5 Jun 2023 11:04:08 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4P4hnOjVbndODb4zHyDMc9sYMQQqhGkehng0bONzYbLexyoKq/NycMHzTn0xIL3D8UvToA X-Received: by 2002:a05:6359:67aa:b0:129:1c2e:6487 with SMTP id sq42-20020a05635967aa00b001291c2e6487mr544503rwb.13.1685988248478; Mon, 05 Jun 2023 11:04:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988248; cv=none; d=google.com; s=arc-20160816; b=siQobyWz673z4JPTF9/9GD+moXo4VaAxCbvDe5InSD+6PXQa3lkymuBBrMFN1kKvmt UgCZ0Pc8IiCoab5VEK5m/0+cNC/RbVDHt5jPNcGidoueXrqvcThdm1vRHkf6dUrNM/6F lOVuqldEc+tbJvS4fPADyLrOhZFGEb6nWcKiacfm8ZO7cIYa6exnvjk4/n7WHQTgWnG/ mfF/70LGLG726JSqLmbbDVv4aT3RWx/ZKViqjJPOutcHro75zdmShggqZR2HvBCa5qjP lMqgtf3gz7ohqWAoaSRCDtvfR4FsBpjTfafRLYRbmJQDV/H46ff/629OaSZdGj5VYHgA BCjA== 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=K5MApIGH6U7XihLXeZ0WRMckQ4Kz+NLyFjpN9LBdOPE=; b=wksb9oRZGJW67rt/K3+1GOsdaSJDkVyJ4S8OEak2Um23GDFJvWVLpIUuo2WWUJ/w9D rlJoT5cQL1IK2Fe3kxcREbkT/TUuW9cc+L4zOkDci+PDj7iB0aYp9lqpM9QKPsQ4AVeE W2KGHzWfG9xZGx056WKLt+zv+Ymkj2mJeLLdRipngvwlryvWn5DGex9BN+ayPcAKKtDJ GpXPksDGwiP9Y02z5Oa2OvV0zaFRM3zFggtEwi8q0KuNxrLc+zzrWg6qGjGc5yB6rhEY Zny0AdFxJ2jADbQEViX08Tw3h1eXt1WsVoX5Amv3941e/KNJ554O5ZKQsRCuCFnUamKi fZPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hnX87FGT; 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 j184-20020a638bc1000000b0053ff2caa766si5706886pge.550.2023.06.05.11.03.53; Mon, 05 Jun 2023 11:04:08 -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=hnX87FGT; 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 S235319AbjFESCr (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235195AbjFESCk (ORCPT ); Mon, 5 Jun 2023 14:02:40 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 917FD13A; Mon, 5 Jun 2023 11:02: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=1685988152; x=1717524152; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2BZJHMvy5Smo9CkdsEnHUm5lhkt7OZqGEDLiRMU2uiE=; b=hnX87FGTarewJSxWe7hPu5VR0qPL4f8tWaBP/TUGxcwmubif1pGQzrH2 iR5pjXqSJKPTF3FCswlVVUtSOMlShZQkbFmDrsm1cCFGB8g04hHEhtkhG BblLyparFVaFYVpSdugW4S78kj6mWzLu5+TOGUZ1Eo5yJ4fbpNQ+UmrG1 nE7rKzfDzOYduQ4Xkz96xh4eUfuPw3jC6vgfR9m6z73QoLRb/mzAiVAYv Ug+Y+VBSabqrvpVUkU5dyiSFEYUQSeI1VHQWvS6G8dkUPxFMLiITg6i3s dDiiAU+UuwvZ3COyazJWcUGXio9ieb+V+T6c9Nmex4oqPdp86NpMshvyt Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442814969" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442814969" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274052" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274052" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:16 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 06/19] selftests/resctrl: Move resctrl FS mount/umount to higher level Date: Mon, 5 Jun 2023 21:01:32 +0300 Message-Id: <20230605180145.112924-7-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767886813387862949?= X-GMAIL-MSGID: =?utf-8?q?1767886813387862949?= 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. Fixes: 91db4fd9019a ("selftests/resctrl: Remove duplicate codes that clear each test result file") 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 6fcf8fc3cfc0..0ee73e722acc 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) @@ -268,7 +305,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 23f75aeaa198..b3a05488d360 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -613,7 +613,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) { @@ -621,11 +622,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 Jun 5 18:01:33 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: 103426 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2873086vqr; Mon, 5 Jun 2023 11:22:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6uFh8167uvPA7ESG/bQMDF1aYLMJ1E5UGN0gVbscfVOykVg5yPWV/5PDzLMCvb55fO+eCK X-Received: by 2002:a17:90a:c907:b0:256:4196:f722 with SMTP id v7-20020a17090ac90700b002564196f722mr4442260pjt.47.1685989344825; Mon, 05 Jun 2023 11:22:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989344; cv=none; d=google.com; s=arc-20160816; b=wRlAonh8rToCPu8sKjXmOTaUqdIrneR6Rg9m7EqGEFwK3cIWO7ChaE7dd5qkI8POt8 8qbkxCbvCXYjUnbr0mfCpkBAlL07h2J1+k53j/BM/xmPDl/z8DAl4HLNp6SolpchJoE9 9P53bbKzlFRT/xtAmFhaPK0RWfO8/aVnPOM3NlEbQ0MtHYbAaItqB/t6tjnSBJ6BqebC 7JYf2fTrNlm8emjeacp1dL41Sq8xbrmmsB0mtSYzYjPUHP+J/mSbyoOGqE0C5eLh/Cs+ E6pXHJQMOOw65h3TChZw+S3TD2vCQh985B6x8dFV0M3Q2GC5lwdCR5S+nQfZgkrRj2IG lsSQ== 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=ie87Rsgo8aPg48rij4Uj4QljQhDDMMh4hRxx38WJNYg=; b=fJ/1Vo1Q0Gg2xsblLQNazIn+BSXdyTpMzYNn1fBuSfmHKTHnnZMJ4ZtrV+7f7X9i0v 6FYVsk9koTOA6nXGHitGX3SzbOW7ve6tu55fjSPFjGaTr07JSwkZFEsBmffsbAfLwJ6s ur2q6NFqh/CAuRIHV6emY4p2on+o9svi70X4XU2NhWaT7g2KWdkSSrWyvayuqTRoIRXA FEEvXADAIeXkkaBChiJPKMzF43S1DBbmHpdgXYw12C+OaMbrBd9d1jwH3P52rIg4+39W XwqIRyA2yZduzLOO/FdYb6AvsLKcTeJr1kvXXmXpZLELILGgzdIX+UxDPQBmcX0K7zqt O1WA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Ppw4iyId; 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 v8-20020a17090a898800b002507aba141asi5912391pjn.171.2023.06.05.11.22.11; Mon, 05 Jun 2023 11:22:24 -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=Ppw4iyId; 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 S235182AbjFESC7 (ORCPT + 99 others); Mon, 5 Jun 2023 14:02:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232040AbjFESCo (ORCPT ); Mon, 5 Jun 2023 14:02:44 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B3EE1E44; Mon, 5 Jun 2023 11:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988156; x=1717524156; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RHLCXP5hfTbJ6gU+y68uMeUeAxpYN4g03xl30+9ejJk=; b=Ppw4iyId8ONnJheAOl3+grToJiUy02GnGhtHm9Rr/83hlOXTiNfSnoTD Zk0xh874vZ/mUZOkNvt87qaW1PuXBLH8+ODSGtl2t8FxxzYjGwv6gvOE3 BnLMa+ldFRGyYHZPinanEmwFNcxZYvY6XOXYGzwH0XmxpMHrWbO4fafau OoM57ZgkUB/jBgzrnkB5vAvc3DwLpoyUmQgi08NzzI6GGCpkoGgBZtJlE Uf2PbOtvV7fMM1tVy/xcLxgdwCvjOI8946GqpCFDKlY9171EA0E+ZePO9 f+LdQ9qOi33DFJTktUTGwLyea3K8F77dE6hLZGQpSXVJ/uXf31pCllGxC A==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815026" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815026" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274061" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274061" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:26 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 07/19] selftests/resctrl: Refactor remount_resctrl(bool mum_resctrlfs) to mount_resctrl() Date: Mon, 5 Jun 2023 21:01:33 +0300 Message-Id: <20230605180145.112924-8-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887963192774456?= X-GMAIL-MSGID: =?utf-8?q?1767887963192774456?= 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 | 20 +++++-------------- 3 files changed, 10 insertions(+), 20 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 0ee73e722acc..048ea8ae1e28 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 b3a05488d360..f622245adafe 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -48,29 +48,19 @@ 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 * * 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) + return -1; ksft_print_msg("Mounting resctrl to \"%s\"\n", RESCTRL_PATH); ret = mount("resctrl", RESCTRL_PATH, "resctrl", 0, NULL); From patchwork Mon Jun 5 18:01:34 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: 103432 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2876281vqr; Mon, 5 Jun 2023 11:28:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4FC3MgEoAC4eQsvQ5MaJXg3z60eIFdOZinpcNuyc0H6f8giUfHM+eiKbKhTC/EqxhLNrUJ X-Received: by 2002:a05:6a00:22cd:b0:659:4b77:51e3 with SMTP id f13-20020a056a0022cd00b006594b7751e3mr489459pfj.31.1685989735505; Mon, 05 Jun 2023 11:28:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989735; cv=none; d=google.com; s=arc-20160816; b=P3sp+/bVYqvLmC+0DtkAvnaWIs5BTFox7l1+P8owrg6aOcYePKHsM7PAFzRxTTieCc qKTfTYjTjZtatsOvoJnMsq9FxAohO2/T8VtyZh2eI7sQCu5P6SD3hDZccicyjz4mbk5U QggJIRE8yWIx9S8AHWCrADYJ22W7tX+KhtzPabp54He613GC8kQi9QCGTwleE2GscIuU q6/7uh4CGTP70D5k03iHuQJMph3W46IHnc6xOegdQ/N3V+fW4cfmtlmkqgUElqEg2fni v5XsZCDjrssHdK/YCwnFDSUfM+uFntlbPdJnsGXzIWIh/0m5LI/1TRR2v0wfGsNt82yR AU1g== 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=pD6YiBohF94cKlaTdo3/zKI2HUnuH2zpLzeN1CWu2+0=; b=qyFd7CZTC/AgMob5PDQv/BUxNoCincaDkN9w61lFsAj9GC5Ff9k2GrgcPBiLgq+Zgw O53RWFZp5KnTykMqbmrInWDEHXZljw4BBb05b7sAFVtQSHxGcwyFMPyKaID2uaHcDyFU yE5At5IYvpYQne+K4PKL7rcQOT9JqUeVPVzh3/RUrce0yUl9rv1EO1az3P5Oc9fcoyrD XkxMvr0QRLoLvKHZahcnomOBytwZncjHcLDbGyCEeDGacqznXx1M9P6jndap8qJ6KACZ UXbw3eT+p3MDGvpyv3sCp9Ry6ZXLCxeWecqGV28cnuiMilFhW7wA42xRsdOCwbz7e3pc nTbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=df61BYIF; 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 g30-20020aa79dde000000b0064d56c3bfd2si5680837pfq.207.2023.06.05.11.28.43; Mon, 05 Jun 2023 11:28:55 -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=df61BYIF; 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 S235478AbjFESDG (ORCPT + 99 others); Mon, 5 Jun 2023 14:03:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35092 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235195AbjFESCu (ORCPT ); Mon, 5 Jun 2023 14:02:50 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74F83109; Mon, 5 Jun 2023 11:02: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=1685988161; x=1717524161; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1njCDh4AQc1HNVmmNcrVGlu3E0csxRiOqUiCj2TLy5Q=; b=df61BYIFshocEkORMHD/f+U6dveMCZIuaIB4k2w1sxhF8Uzg+JFgB0SO dvSoXlk+JngP8gSaRF0lXzUHHUzOpt2VdFwVFU7cMuetXvN4l4oR4CrXr IHPYiIsv1umEH2R2fVo3IZr24ULSRqBT7t4/fw2ufo8yoIKhI5AbS7Sjs LoiBz4fH8Yc3jK0j4xKKatRxHOkXLa981DF8prhZh1jbaETrYL7NrwDjS Bc7n4rqMScvaPuYu3K0qbhQoo0ZLJrLnWWwk4X/XbJICH4PQPKfgh/12t oSVqEy/B6gGzWpqbeEP1MbiECUnOLfhLFZUwdNSMdmxgSEdmSJEcZEsJF g==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815046" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815046" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274083" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274083" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:31 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 08/19] selftests/resctrl: Remove mum_resctrlfs from struct resctrl_val_param Date: Mon, 5 Jun 2023 21:01:34 +0300 Message-Id: <20230605180145.112924-9-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767888373076791528?= X-GMAIL-MSGID: =?utf-8?q?1767888373076791528?= Resctrl FS mount/umount are now cleanly paired leaving .mum_resctrlfs in the struct resctrl_val_param unused. Remove .mum_resctrlfs from the struct resctrl_val_param that is leftover from the remount trickery and no longer needed. Signed-off-by: Ilpo Järvinen --- 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 Jun 5 18:01:35 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: 103413 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2864506vqr; Mon, 5 Jun 2023 11:07:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ668JJQl9vUx//M1avNPocQRsTCtOrzuGFlRDDajONFx73VlmJXtDTA5QNj1B8rBz+7W8gK X-Received: by 2002:a17:902:7c97:b0:1ac:8062:4f31 with SMTP id y23-20020a1709027c9700b001ac80624f31mr3271883pll.37.1685988457487; Mon, 05 Jun 2023 11:07:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988457; cv=none; d=google.com; s=arc-20160816; b=SLimGjIDdmTl1e6RTcRixB601dCVwg5vjKVGVE1WRmEF9BlB0gZZI3eWEzT7oizTJF /QwkazcbRUa9bAQ25xliS1ONmw55Lw424BJ3Ex0Rq4UKhjj+6C5wVO0yZxGTMtQdt/BP ex58ACGBF5rGQLd5GpVKxXqYGsSBstX3VMnB04/lbzW1ovNzrOgir1pz5NWBjGF3KUzi S/IZQXrYoPRlvUEbtNTZn1R9SdYaBWh+YGJ4R+iMZp5DLUgj5HCTrXBmgrtcYYefqdQB NhXb8CUpi7yxwkOeBV4Q7xxIEBJpisJltBwkqONtaIU34n7aMrNuim7rue5W6rnHOpsw 12lw== 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=XjhVNM6U1hSYN7170X4CVDwvtbkNZar0UgINx3rH14U=; b=UwAMk4R0xs/02KXZQjJWLTq04sCOy4dMJVwTfmXt+ipswr6KtKDQHprYh2DvRP8rNc VDETcRQRyO3fZS3VfDLGw/dFBn4Z1ldisP0uVAB+AnFSrZkfd7NDalsNJ5Ksp5M6AY0U q2VedVm+5OK69L8XZ0rit2qurXdHXtQFmJIKPKnzOwrA+ZLG/QQZCezHtGEEmc37hzvs zyGRqXjbdl05+6xI6FXTcrTGPASyRcNId44kbNPMaOAlnk+MwHTiWf9U7A0D6tkBSZV+ NH9rsEp/3PBdlBC8VUz0/kLVWzGKbyoj6+c2JqRoD0OtliSbmMvr0oD+tNnONWTjkNPP Mo/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J4F4YQq7; 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 e10-20020a17090301ca00b001a51368b098si5837880plh.209.2023.06.05.11.07.21; Mon, 05 Jun 2023 11:07:37 -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=J4F4YQq7; 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 S235482AbjFESDV (ORCPT + 99 others); Mon, 5 Jun 2023 14:03:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235477AbjFESDG (ORCPT ); Mon, 5 Jun 2023 14:03:06 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 591C918E; Mon, 5 Jun 2023 11:02:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988167; x=1717524167; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=mKWZEta93QNnUWaFZQ8iTZ7+XYFP94leSifdnEXEsLo=; b=J4F4YQq7pV1WeYMMGn+GHbgO7paSIUcWX8qhFyXEnaxOboyoqK7w2vAF qQEbMW7/WtE+ZavvwM15vR0uwNLfsuyyUIawuNmRDTuoQJXcV+p3aTL2m oSjuC2FwNAZ0pI8a24ZqSFjSRajEFB5wZBZnwDbWhcOZ+Lr3bCDdRcPnf NeflqldV96f+LhHIH0RJM5tbzuh4twZ8k6O0695LLLSilaOnaX+E/o06P Snq4ZWBCeYtKF+VCzlKQThIeOIw8Dnwm/bz6q02P0NSZTF0YfAFL5zglZ 1kwDjBsA+WnozWYOZSlPScEJDOQuzMFsjaHKx9GFarCFx8xMTM7o+rix7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815102" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815102" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274119" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274119" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:35 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 09/19] selftests/resctrl: Convert span to size_t Date: Mon, 5 Jun 2023 21:01:35 +0300 Message-Id: <20230605180145.112924-10-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887032409561208?= X-GMAIL-MSGID: =?utf-8?q?1767887032409561208?= 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 ced47b445d1e..f2c7d322bd76 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -282,7 +282,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) { @@ -304,7 +304,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 048ea8ae1e28..1c1fbcfcd086 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) { @@ -275,7 +276,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 f622245adafe..8be5b745226d 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -298,7 +298,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 Jun 5 18:01:36 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: 103422 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2870449vqr; Mon, 5 Jun 2023 11:17:32 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5HfhZMqiCq0ILYkTd8vGCAzAvO5+uJejgqUKwoaNg0TrqvZBR20P9CmjaeIybTV3UycUkK X-Received: by 2002:a17:903:22cc:b0:1ae:40ed:4b8 with SMTP id y12-20020a17090322cc00b001ae40ed04b8mr4636759plg.22.1685989052142; Mon, 05 Jun 2023 11:17:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989052; cv=none; d=google.com; s=arc-20160816; b=D2wPwd+j+u1DIOddjEO3QdM8z83cJ4q+wo8TBpKkfNfW7pARsiT626/Y+jmVdad9hd zunwD5qDJ3++EgFQG8/bIHuCjA7i1P5I3dJu+QE1fCOC2YsCY+jT9hyvJKLBLu2wFYcg FGXI8UXuIKIvGajh2534V7AbIJI4zX09O1MSXQ8oSIHDSd1SCr8dvMGaJQXVK481JqLZ J92hTofPGJVhqJScAbOhBf6HSJN7V+3zE9xPTxCM0hh9bwBXSaFuIbM7kiUZg8Hy5Tte nz2TGiC9q7YJTGjjrXz6tI6lkfcaW0ixz5Uy3HFyKrezrlynSXQRwUCcKSzxZsfew8ka Zm3w== 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=MdOE+CD9qWYivIOcwTTG/+NLPklDHnEV0XWopmBOvgM=; b=XQmZqs4do3WX2cJjlXR0fH6Pkc0f8Zxvj3L2xVzz+7Ne4rVex1Vm4nP8+k+6TW5PeZ GXVFCsADRTk6DD2kRFCYndi23Q9OvsrwXdAGPEEdSEJyWF+Ngi11sWvsLhJAj1yTI21+ d0tbJGLjorC+AGejn0Oe2sRxlIOxcZK4DxBt2RldRa7dPgkSthCGwIdYHkB35B+lOaHw AyLAsKRsxm5b55Tcakn/SUaLYwkolIXNingq7AtYIZITdY1bGUzdMrrs3DRbDoM88+Qa deO9LshPiyY2bEi6wLpJT12F1NF5u8ezr684cYuy9my6Jg+LqdjSCWO1LscbJOgCJswi EXDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DwGyKYH6; 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 y19-20020a170902ed5300b001b06fa47450si5646615plb.531.2023.06.05.11.17.17; Mon, 05 Jun 2023 11:17:32 -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=DwGyKYH6; 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 S235354AbjFESDi (ORCPT + 99 others); Mon, 5 Jun 2023 14:03:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235515AbjFESD0 (ORCPT ); Mon, 5 Jun 2023 14:03:26 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85944BE; Mon, 5 Jun 2023 11:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988175; x=1717524175; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Rg5CeMkdCjcl7CC3dcDGwqnZfSwe5+lQhCDWVmpL8Hc=; b=DwGyKYH6Vy71mbszExA2ObLCYgP5M3BYwH+NN5hqHnIhjfHLxo/0XtFq OQ3H3EE3M7x0ATwy+PCAYAkOBWtwOQTQe5QC2zq4FaPTT2oo2ChoiSklA Ji1sCU719kM8IMEk1X7y9krYOujwFsOzT6XbFWpv/LQQLkcCbwtHOurnQ e2F1JiaJDtvx6nMcbWKcj7XhQ9JMYytFzajB6O3Vp7IoyA0g1EjKAGInV IyGcAiQ6d0wO3e9CfwCUTt6+FC7W4/PGCHUNlLSD94NvnO8qDvcZQ5hFn 2AuQ/zvIPQdJodMKNfKBv6Rm8c2xe+h+YC3AAPBAwvD3OUzGNBSmrJt9g g==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815156" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815156" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274156" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274156" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:46 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 10/19] selftests/resctrl: Express span internally in bytes Date: Mon, 5 Jun 2023 21:01:36 +0300 Message-Id: <20230605180145.112924-11-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887656096221225?= X-GMAIL-MSGID: =?utf-8?q?1767887656096221225?= 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 internally 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 1c1fbcfcd086..0fe83264e925 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 8be5b745226d..847e0a80c6cd 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -298,9 +298,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; @@ -321,12 +321,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 Jun 5 18:01:37 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: 103418 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2870017vqr; Mon, 5 Jun 2023 11:16:49 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5N4VkVkWqt8FVM8ExC5FXr83bXunQHcnuJR3kUdthtLVOHcTkm7FCDslPcGoDpfdWG3BN6 X-Received: by 2002:a05:6a20:914d:b0:103:b073:7a57 with SMTP id x13-20020a056a20914d00b00103b0737a57mr8814525pzc.23.1685989008948; Mon, 05 Jun 2023 11:16:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989008; cv=none; d=google.com; s=arc-20160816; b=DkDVkNT+vNrk00pK+LnELp2RaLLxMK5E6arNm2pfPoo+f/lhLq3c+z3BLIbqGNsjxp 7PCOZtaXg3d+canEI/kKALvXAUbldh8vvu7UecbbdF7dylwovBCTMPcyg9NTsjidNYLb qV+F5WxoiqjvDt7WFIOG5QehD1Rfdz9uTYuXM2xGd3ANz1YkU3ombsUKaAeWcJlcTSS6 60tbWkQzm02v9azPX1HF3S8eYHtij5fqCMYW924m0yujor+5dT68ad67dbQaO4AgtynM 5euNoQJoaW+FJ9diV5xpTLuzOPlvMukjN6bJ9NZr2CjQy6pj4X90Y/PJoFlKSIt41tsV BbXw== 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=HK+UsI07DXok2C+egSnc0a2e6XuOLdxtN0tPFKmKv3g=; b=NeVzG7p2X7fqQDR2uoUYnExoYc3x2v4WPBBB0ayxKPe/jBpBr7Oh/fo+I/dgDRob0L CUM31WKzMWXybZXwpsn+yw7QLK6+ywI5zMVYDN9n6uAEj8UUUzS7kvg+NUUPPKsti83X OZmDxG6xi2Wf24dNcgdJ+0va/N79KCCBSJWIinT9rBhFogSw6ifTl7ItTJLJze0kKTDb jVwGLH01wuPB/GwGVI4p1fHrAXsuq0LtTXr7eHyXjaUtssq+TVGNsNpJHsSWJ1Ua1nSC v+ThS3gLVwP0m3gcJ3VeWZA661BxJjBmH6Q+qbLaRe9hJCq6ZnOTZGPnozU6RxQ4B1Uq U0vA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RdwM3jU2; 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 e28-20020a63371c000000b005194eaa611csi5666423pga.397.2023.06.05.11.16.35; Mon, 05 Jun 2023 11:16:48 -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=RdwM3jU2; 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 S235573AbjFESDu (ORCPT + 99 others); Mon, 5 Jun 2023 14:03:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234995AbjFESDd (ORCPT ); Mon, 5 Jun 2023 14:03:33 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEB08E5D; Mon, 5 Jun 2023 11:03:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988186; x=1717524186; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9EARwlPZfMMlJoAYqZckfPS6SwIENQaRdEYW+Dd8Q3w=; b=RdwM3jU2CHdXK9Hnw16nhav7HrytyinHfeqFCrBF9sUJZ3qLfaxja0MQ J31O4U93K7YLYxb3q989F9T30RsBshDbYU5LWXETv7EnhGfG1N/adhXus R4yP44S4i2LZzKyJwNIWNPEqnSQgXoMzJkGtFJR2iWsbi6t+hm0lzvoDa 6cg2aEFt85ZCRAHBrydEL6QA8s9T02M8SLkxVe+Xedwu5DJ7T120NGRLw oSVoYccC1gbLsyAWf5u24dRJYWldFxzZImHKWcamHe2RPH+RFZjS+j2kH 3L3V+cjIgAiDjkhU6J9tnPNs341D89ih+d7hidfUcd3ysg8Z9wNIZThN5 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815201" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815201" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274172" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274172" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:53 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 11/19] selftests/resctrl: Remove duplicated preparation for span arg Date: Mon, 5 Jun 2023 21:01:37 +0300 Message-Id: <20230605180145.112924-12-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887611115448329?= X-GMAIL-MSGID: =?utf-8?q?1767887611115448329?= 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 --- 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 0fe83264e925..d54c5fd2c707 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"); @@ -298,7 +295,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 Jun 5 18:01:38 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: 103420 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2870093vqr; Mon, 5 Jun 2023 11:16:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6ihROcIVbarCkmRymGgibcTRn0He6tQjmjMDYMfJ1MDtNzjhAUpVrSPvd3N4YURVS8Wk1O X-Received: by 2002:a17:902:ea11:b0:1ac:d03a:9702 with SMTP id s17-20020a170902ea1100b001acd03a9702mr9998640plg.67.1685989016968; Mon, 05 Jun 2023 11:16:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989016; cv=none; d=google.com; s=arc-20160816; b=NFW6v+cDf2UGEy1piYwr+OFRPgHC8XpLFWgWDhtytLps6J6l0GMvHw7xBfoNJGKsRw 5iiIDxUMTmp60YcrFfgnh3uQNnRbesnrubPC6DGetrqcsXwnqd/pQCEXnd7VNTD+tHTh pHoMbkeRJC0hurfcG1CTdMkOofCog2zvGm59eAmxk2uXN5a/ATdRfcEoYFQEm2GXmfwC g8Pc+BJxcLiXjNhl627Bwd5LMsx6I8XlVCDw2SRCWbnQH/8VSWeE+Dr7t+OGkbNNSYFR yCqgLf5ZII4tK1K9BxVvzHFzpSEo+1NRU0NKGqdWjysxI4NK7b1V4Vk6d4VCI/M8c+tQ /ZwQ== 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=P8MrZorEB+FnA2meZd44fyCoyqEkUCdv5EVCQ3dMnWA=; b=I+ixM677b2aJaXOMlWtjRa+s0Dp16xTH6NwZb10nnFHnzU+whLH0sshmldMa0AmruV y6wztH7k9Un3p5ukzSUY5/OucGESrqbiSX6kQ5neB+ovDADWJvSJ7jjuB/ueCenL2IBD dBy2TiVHErJXo8NT2FHkBukRF6muoYLkh6KuHlpkX42HwAldLsf2PfZ+sq1uj9U9A0qm c38xYuHq8WGorJehTRQieDoT0j+WSLAgqw3HsQ+FX0qFJk85YhsthVbw6SEDUWEddwfL ldxOhbZFqk00C2FZV8ERIgDC/d07Sd2GLyv+t2/PECD3YteskWf5HCt2wZx+uKN0uhRb Bdvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XU9ApPmN; 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 x3-20020a1709028ec300b001b1f991a4d1si2828203plo.11.2023.06.05.11.16.42; Mon, 05 Jun 2023 11:16:56 -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=XU9ApPmN; 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 S235187AbjFESD4 (ORCPT + 99 others); Mon, 5 Jun 2023 14:03:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235476AbjFESDj (ORCPT ); Mon, 5 Jun 2023 14:03:39 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C75F118; Mon, 5 Jun 2023 11:03: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=1685988191; x=1717524191; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IulgCmHWj0QTuThmxSeLsKMqTPZ/JIlqwbW6LAksSPs=; b=XU9ApPmNib4UfFZbCawUq52LZHcaG+OkmDYICSUDCfPN/vnZJjcYFj27 U3BarAu6Ov9K0hi5VuG+BGtGS71uwXwrpNMWNMB+JWGttC6MDd2CMFBZq LGlqZUEHpgfvbKE+TK2ZmEwn/He5vIxtLTNhdmoXzeDbhtwvU1HnlVItz dDKXGZlV39XHg0PiO8SD9wbQ2DLcwDh2w3gVihdTjF/R8sjzdpFC4ruv2 +2SmLuRezREamb5c83lihzHmzjQM9Z19vsgCfmB6TXjy+TNrJx8V0+T8q 4+lyDykzX8FS6jFuzjs847iqmZTevLZATiEcTTG9qiXLvCtXK6fCghnFk g==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815227" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815227" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274181" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274181" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:02:57 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 12/19] selftests/resctrl: Remove "malloc_and_init_memory" param from run_fill_buf() Date: Mon, 5 Jun 2023 21:01:38 +0300 Message-Id: <20230605180145.112924-13-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887619189484445?= X-GMAIL-MSGID: =?utf-8?q?1767887619189484445?= 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 --- 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 f2c7d322bd76..0db97b6a542f 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -211,7 +211,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; @@ -248,8 +248,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; close(fd_lm); 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 d54c5fd2c707..169e50b89d72 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) @@ -269,16 +269,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 847e0a80c6cd..5f41ce03c470 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -297,7 +297,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; @@ -316,13 +316,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 Jun 5 18:01:39 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: 103416 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2867699vqr; Mon, 5 Jun 2023 11:12:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5hJAgU5HeD/bCk5sgoIPUirOkb1zlH2eRh96tFbBplbmrtV1r3JI1397j4r+RWOtuwOOv+ X-Received: by 2002:a05:6a20:6a27:b0:101:4348:3e4e with SMTP id p39-20020a056a206a2700b0010143483e4emr3165106pzk.42.1685988760347; Mon, 05 Jun 2023 11:12:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988760; cv=none; d=google.com; s=arc-20160816; b=FPWyJuIQJwaBedRCnAlVe5IxByxDc16/GO70psYjmOsHyaSzMzOMmZ1liQgut4Yyrd x1Qc2V8VoIz3EY0rvV4GDE/5YQx1vSr0K3XtJmdJs3OAdNjMOR9VR52ILRNxWARiD+gl Jx9TLu/BlekrNRyoQbKQwZAgQ1AG5ZzBayrtckwqjZ59PBe3wSW+W9ba4Xvmqi+AGKaL 9ECn6xEslIv6EKJcjmuu7yB02T4c79ahMKLmqYeQoDA6Eo19bA7ziHWsoLENS30GbdjY 6qEYQpHZQ7OhCJCEfkPgo5Btb+wtew3P3BffCVq+v2euj5wr0ayEBYXY0B7mQYWjo/pb 5BdA== 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=MVISwwP3JQiC24iRbdI7NnGqdajFK67xiXdR7VNxsqA=; b=Kyyher8WjXmwZ4oDyt6vJCRx323NkS3UzDhuZcdFaXmFlv6u4e6LtZ1jG7r2DPiWXr ZcPwtKFikizO/PwqkBx1m5QpXO4Tl4XGX05RK7ro1G3yxW3ePF8atrb7kSaC09Vesd4V ++nozjeD+JB/XQ1Snd5/GpkZ+buN/T4UhkANmIIaUT3UAzwLuFdqkr5JUlQui8FPnHG6 qoGD2xG2wNb68gbxQvmT092P7T0GWu+JMoA5lWHaH+4cy4WyHIr2lEVSKOrLeGbvwt0q iusVL98DhyEQRpurEhSuRagN3W3PgzJI3H8nKbwVCdfxXnLTK0T6SK5olDLPHLEmAXo/ dc+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=B5rkXrBO; 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 g22-20020a633756000000b00527b90936b8si5749142pgn.38.2023.06.05.11.12.25; Mon, 05 Jun 2023 11:12:40 -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=B5rkXrBO; 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 S235557AbjFESEI (ORCPT + 99 others); Mon, 5 Jun 2023 14:04:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36036 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235553AbjFESDr (ORCPT ); Mon, 5 Jun 2023 14:03:47 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EDECAE75; Mon, 5 Jun 2023 11:03:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988205; x=1717524205; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ReRBurQsGT7Fx6kcQMK28MT5AqfN9HI/hJmNwwtabwY=; b=B5rkXrBOtbX4+W8RCw/5xZ9C4h1NbXjTDVxCTJd36qdjLtYNmDRhW08J j4TjGm+j9UhtuHAZ//RUMvuQNiSZ2hriljPISRVdnf1MmJ5Le5tI9EJeC pTAnzHiTE+k65Fuaw46ZL2yFi2RwxNXtwKcW8Ya6I49p+LhzlrogIAPNz BnYo8/4/mJ4y7Lo43OAiA3G/qXw+MTJs43530lAzyq4Bx38KK0hjna5UJ mGzro+JtVWeX4hsJtgNNymSovQwU5tC37DIffagvdkzekC01gsd92V/EH WXI13kD0Wa99XzvwwFpK2GjnzF2axGszMUCif3+LYSijiF35iBMALreUP A==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815300" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815300" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274223" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274223" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:08 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 13/19] selftests/resctrl: Remove unnecessary startptr global from fill_buf Date: Mon, 5 Jun 2023 21:01:39 +0300 Message-Id: <20230605180145.112924-14-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887350454330618?= X-GMAIL-MSGID: =?utf-8?q?1767887350454330618?= 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 --- 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 Jun 5 18:01:40 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: 103429 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2876128vqr; Mon, 5 Jun 2023 11:28:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5ebXqJ6x9GdsytaTvKfFrrMT4jP6mx1wKkmIK3GL0SOYwZgkR9NMphOl9thqrGESWOXekf X-Received: by 2002:a17:902:a3cd:b0:1b1:bf4c:868a with SMTP id q13-20020a170902a3cd00b001b1bf4c868amr4397404plb.42.1685989718975; Mon, 05 Jun 2023 11:28:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989718; cv=none; d=google.com; s=arc-20160816; b=FykAWQ/QxVuDyemXezjyzr8jv7rfaAp9LEovZ+fmAVNHu+ScavexjV7QZl3ZkNEODU grL4Wz9m0jgXE1ALCBg8Yu+lGOp4ueavzmLp80ZFnjL/EYrcljH1opOGOUHMuTa5vkLh eRYQJkconWYi+bwEFmJbZRdOW20+v0twO7WE0Fu1qv4Pm8mzgJi2N003dGrC3UEn8QJm /YIC3lPEu7B0KnLXibPEY1iXjZqdFJAj9lizJWIZyUU2ifaaTHoaVk3NdONmsCJuI6Hp A5KWmqa/3d8KW5deOm/ttEu4SOQ1psyPdsZv6kjcMjbzGfN8jl85loltKnvRCNUKCKPf sBcA== 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=/bWrM656x6lro4Z74Hz4ktSgQWyRkZl4fWagaWiPhUc=; b=uzZEeKL+AixcFMB+Ii2aCUsn847pJ8tNtRhOtApE5mHrHr0TzzE9mthTF3DIxV5lvD bdYsLjyw782skvEO7NrGu85agznnNZFm1HZgvne/UtbB1el7vRyZo0TyPIfUgKk0NhpW 27l2pX6q2Ku+v+RsyZ1S+Tb/uyO4f9SUbY7qmwy62lq5dYBUDeAigS1udCP2198PQhqC ZzT0qutn4kwq0oL4Y2yLPIePvOv3CXRxK97DWyM9nQV6c7zs/DX/qYuKjMYVXMT5gLwG 18onLDQVopy17nj2f6Ktnkey4EfMIMwKjGBPU7c1fGco5hQLt0ZoW78r974dEd8Kh8/l seNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="S/oK3WlV"; 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 y16-20020a170902b49000b001b02fa876c7si5583786plr.578.2023.06.05.11.28.26; Mon, 05 Jun 2023 11:28:38 -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="S/oK3WlV"; 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 S235177AbjFESEV (ORCPT + 99 others); Mon, 5 Jun 2023 14:04:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235451AbjFESDx (ORCPT ); Mon, 5 Jun 2023 14:03:53 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 814F510CA; Mon, 5 Jun 2023 11:03: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=1685988213; x=1717524213; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Vd7tzwpfv1b8Vdm5xf009cWmFKxKtbsLKfgak3lNYlg=; b=S/oK3WlVoMTMFKJG29Cbu7ds/IeB0HVQpqbTkfoSkMDwYhaPT1ivANFt wX8ULUGw6T7C66R0pwt5FWRS+EiPC2oii8A6XyExDgbeECxfrvsoShfaN s58RoXewPe4oGsM7BCIp7xWdF4DRhS6/nFmkVOJ0j7KcKV9d33GX2waxx upCCkCthqtIfSH+4iuXueHElD849aLIz5bwMQ9iX+636EMWV1cpLoCf/q a0c7kzIC0e6uKcfandgo2kniSnza3ldb1oSrK+D5iRETmkVaItcOENkTu EulVwffJCXW+rD2iNZPfYaWDKWFanjA+WAdGholGoV8uPpc00INEQNAGE A==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815346" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815346" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274233" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274233" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:14 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 14/19] selftests/resctrl: Improve parameter consistency in fill_buf Date: Mon, 5 Jun 2023 21:01:40 +0300 Message-Id: <20230605180145.112924-15-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767888355124624478?= X-GMAIL-MSGID: =?utf-8?q?1767888355124624478?= 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 --- 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 Jun 5 18:01:41 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: 103424 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2870712vqr; Mon, 5 Jun 2023 11:18:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ66uBmkX+7dI8bldg1h80G8OxdzgLrx7UNN5p8Zv2EPCPO91GkXxB3PjwL5iQgSrpwVM4tZ X-Received: by 2002:a17:90a:eac2:b0:253:2f10:6133 with SMTP id ev2-20020a17090aeac200b002532f106133mr4047540pjb.22.1685989081995; Mon, 05 Jun 2023 11:18:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989081; cv=none; d=google.com; s=arc-20160816; b=Bd72luKjboCGrJIkiT78HHf31cZU/4TyVyg8jLA6PdovYUgiWZcL5dbmkTCXuRl8KX tWHl2Z6kugKwGr8JqlBG9gO7OKttn7NAdBuWMsq6/DMyPc3E4H+nRlOHgfTUWQ4E7N2x DnpJyVrjcive/hd0echuGsf+qoBg162SVm9BFtW9x1JcKll8+D4V/8LwLl1D9hJHFMoF vFPKHPDKtE7UxNMVzmJx+wyvnxNZTr05OFI4jxTY6UKgQ+Z2nC2lux+b4xJn2+005O2I W1Wv+a9manmRRM61sG7zbdtPKDi3FvtwowQ71jX9G1laVKBI7JwWJWuAF+KMq/UPBDrz 2FKg== 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=lnsCFRXDrr06+5JCwvNk8NLDRbUNwsNUwOi9BSAU3cE=; b=O/Agn0rhD6m5YOK4YEBsP4c0b9oewI8eb4SiTucROcH+YEkiVuy+SxQaONmjW5KOGd 4cOe/0AM5mc5EgF5nrcoXz+ZYNjmmN3nRuKK5FbdW/7zeXjbvvpZr9o3sDzfrTxSF8aW QN9D0FxcHM1Ae21garvJh9SeAiPuctJA6NCswdSTkmyBBMseh8nGopE9bAPid3xL2o49 CfH81+P9bZ4+qCuKc6OrI77hp703FGakJGm+gjAVEaSQBSNLweTJeTxja1HFSfEU7H3I QydFxsuhQEfEOjy5H8u+EMIYz3d8fPt4Bqg2aVdcRs2zQr1Y4Ls8dNe7THvVkqwtIT7E sKkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DrcqlBMw; 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 rm10-20020a17090b3eca00b00250d10c6fe7si7994337pjb.67.2023.06.05.11.17.49; Mon, 05 Jun 2023 11:18:01 -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=DrcqlBMw; 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 S235530AbjFESE1 (ORCPT + 99 others); Mon, 5 Jun 2023 14:04:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35948 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235517AbjFESD7 (ORCPT ); Mon, 5 Jun 2023 14:03:59 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F6191B4; Mon, 5 Jun 2023 11:03: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=1685988219; x=1717524219; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hY82rIdo8vjFErjnPfDyLd5FFpJDqjIjLLuMBf0AKfA=; b=DrcqlBMwTLA+j3VAboRdagVOQHubL552BK3JeDVDYWVzfEyIUUZ47OI4 x/VvD8+nW/5p0I+LAPqGsJTYnTTD3wdjBXQur2yyW/xudGjTJgi7Ea9py M2EZq7L24l5N8rEBevdbmXS4GIo5RmrcCUMF44BpwReW+HbLssojJJOOq kImHzLlQRhlQPZRNeUKa3cw7wuwJ35FLN/TiuzZ4Ugp5GE9xMPbH/xq+q i9bQV9ejJMCWXqNR5+vMhelfo3IDij0JcqvF6irqH5Ia5p7KqRUAkB7P/ +kKfoy7z9g9YqomDjG0jd6DQsoXWdo3qqXYfYWO9rfulIVQuzzBoSum5E Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815411" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815411" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274279" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274279" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:24 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 15/19] selftests/resctrl: Don't pass test name to fill_buf Date: Mon, 5 Jun 2023 21:01:41 +0300 Message-Id: <20230605180145.112924-16-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887687285512175?= X-GMAIL-MSGID: =?utf-8?q?1767887687285512175?= 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 --- 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 0db97b6a542f..bf758f2e5578 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -248,8 +248,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; close(fd_lm); 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 169e50b89d72..a770b9878d46 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) @@ -276,7 +272,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; } @@ -291,13 +287,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 5f41ce03c470..4373483cc1d6 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -299,8 +299,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; @@ -318,9 +318,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 Jun 5 18:01:42 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: 103417 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2869941vqr; Mon, 5 Jun 2023 11:16:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4NwWY0vo2CaQxF284B7VlAFLdduX89dLPDyv2GZfq8A/CEFR+WUE8n13L4KuAqyXAfCJoB X-Received: by 2002:a05:6a21:32a2:b0:10b:f590:5a1f with SMTP id yt34-20020a056a2132a200b0010bf5905a1fmr3312212pzb.0.1685988998976; Mon, 05 Jun 2023 11:16:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988998; cv=none; d=google.com; s=arc-20160816; b=kquOBbGcOoY7zu1SdF7Ug6wkrf7a30GsNyaiPybBOanqRkbdEONFl7zFtCftuyhgXN 3FVSx/YVg0Sxvhvmrk5YV/0NcEvKTVhIwE3OqjC97JTOnt3x9Iv79oyq67FwJD1NU9Jo Z3D1bUlNYi2/KBR5icPn3C1e2g7BG6EwCYYiHnUsEASVQQFJBSJY4yWoOy7hlHEgsb4X xsyqO7HZuWCtUqZpx8HMA+p+uwo63uDnsIcVDie5jYFxagNFKdcAoVmDSbygs+YXP3b3 3Ntfs5N/5LhUwMBc3hytfonRCbzPXm/iHJBbR8agZq6YtmnvcrEKvvKUzZePGxez5qen XL3g== 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=zWBAMUg5WFZhf/bTbtH+bEidc2y4u3hzLTT2sQ4648s=; b=ani7WMOm1JLTyH1c/bwejPNCJN6MXIcEFImdmYzczvqFPF5fHqvmGhUdFn/KB7JRao k9typqbnUQ1S9WSbL4USWncGgGAYJXQLzhmcj4mof2q4kr16AsV9bMAnQScKhyrQNPPV jiNeSEVVleixD/72HBwyK6+B0SzEtKRaG4FtNDoqRfkn4AvcM4JB94Hwm812L8tJl94n IlxHbLShV2poNc3v1oVwK6bOvjU/bFX5pW3w0GEWXXH0FRWdv8PlF05N5fbTU4NWseUN FoZKAu4e4V3qBXom7YW1fGwkteYrlxIU1CDY7ur1hZOEqHtUJx5zbXP8N57ZdmoYIn0u rMfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=gZ0jy6VO; 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 e4-20020a63aa04000000b0053fa7a6988dsi5690950pgf.353.2023.06.05.11.16.24; Mon, 05 Jun 2023 11:16:38 -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=gZ0jy6VO; 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 S229991AbjFESEn (ORCPT + 99 others); Mon, 5 Jun 2023 14:04:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235561AbjFESEI (ORCPT ); Mon, 5 Jun 2023 14:04:08 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC41010F2; Mon, 5 Jun 2023 11:03:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988227; x=1717524227; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=adWz9KGhV5KjAo3m22fwN6bZ55XBth7V+DQufUxY6uk=; b=gZ0jy6VOzfLNlKUKbs4r31Eqg9TiHH4sx184OVSpFQxcJBsOv/nCDAwJ d3RIVvwKUKPbkaTl4OYcv4Bk8pauoiFyfwOjE+rJ7ks5fWyn0w5K906VN XchraR8ZbwKGdsmYIyLya8fFfQJV3yyKc73YxIQXJUii8KHXz2PnSCZWp 1kxRUsx6dy2u0/OnC2WPScvN1LM093Y6xj1zRrVRsNWYg7aVySut15Mlz PI3VFNBHvf1R/ofk0o/ACpQ7HOndkrfIeU2Q8BVmwtQyLKQBXwEaVVjqt T+v7d3zuoH3ZTjPgNRR3VPfPC+UHgEZYWwXgIimmFZsy5ZoR1B+C5hQzM w==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815431" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815431" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274299" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274299" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:29 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 16/19] selftests/resctrl: Don't use variable argument list for ->setup() Date: Mon, 5 Jun 2023 21:01:42 +0300 Message-Id: <20230605180145.112924-17-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767887600342996604?= X-GMAIL-MSGID: =?utf-8?q?1767887600342996604?= 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 --- 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 bf758f2e5578..385c01dd3ec6 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -237,7 +237,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 Jun 5 18:01:43 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: 103436 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2878522vqr; Mon, 5 Jun 2023 11:32:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4rGGGCLIu97OXRv8D0xlWSUPsdEm/U1WJ5SWlnE3cANPSfWl3wkSoFWtrOgPzopofANrxE X-Received: by 2002:a17:902:bd4c:b0:1ac:63ac:10a7 with SMTP id b12-20020a170902bd4c00b001ac63ac10a7mr2914137plx.68.1685989974746; Mon, 05 Jun 2023 11:32:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989974; cv=none; d=google.com; s=arc-20160816; b=cCCzL979lpe9HrbTqbw/LtjVAMuyvnPSc+LtOdQcQcYHwefyNee+bcGh8pyS/TglzB UIYNldX2cks3Pnbp+4h9bl910ZURINVL/z4PWl1RJR0wum07y3kH97RH3Gzvb9lPU6pT o/6icMbnBBqwmWzMX1MnKiq83lHDXi8S3PMJWUnkbIzRKrQlDnJ2W3X+ujl2wZ7C2nsN IZW7WGk5dVb0J3447g1wKMZfC6gIBrt3VW1rveRVEAC2M0uDL+8XDifM7kerANmNltXl 3dY5JHm6FzLmxdkNoSQCoFSIS7nPfH/xOzhLwCDdKneK67Iaa/VaUsIdjpHqJXE5IeeJ BIyQ== 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=kuva4r8Gv98cUco/tH7/JGjCJYVXFJD6cCkoPnJN2yQ=; b=cSRc98C8K/uhCHPxYzvcCDu5g/gi3NyCYc74AqnwwTFA5+TEQrZntga23zDWoy0wJL 508oc/Y1KjtOV8AwRHF5fEi2R+fIGXCcGqjUxxag2HbB19qCQ0nYAfhv/GrjdmmXW533 3FScTLpGSoSN+troirJXCiFmGu6JvEhaPCl3+MsMBYOxMmuA6+lfOwdD8K3xIf2ySCPl pPN8snsQHSmbmMbp7wAGUPgbvtQrVLMIO4mKpHdk5tgrJqG5f5+6vycoEzNWWsg1kSKd 9l3MIz18JGhX8DAYF4oWXssKufJtVKpWelYQbhdZPER36rS90MA+REVeN00QCIAznqio DutQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=gkUCxu8k; 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 x1-20020a170902a38100b001ac2ff9fbf8si5553475pla.403.2023.06.05.11.32.39; Mon, 05 Jun 2023 11:32:54 -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=gkUCxu8k; 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 S235709AbjFESEt (ORCPT + 99 others); Mon, 5 Jun 2023 14:04:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235581AbjFESES (ORCPT ); Mon, 5 Jun 2023 14:04:18 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5CCCFD; Mon, 5 Jun 2023 11:03:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988233; x=1717524233; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WIWnJB3NculwQZQw1FR80Zi4TS+CrST66ZBC+3Ji4ag=; b=gkUCxu8kGHduqpOaksF+INZPWE6qEIiouRjBMDvc6uTUJ+HR+V83xXuL aDD0P9SMuzpsst7y7cOejGpUybdJVA8J8mvaCOV7dDeMcv4xhDKIUzkmi qZwRvJqgfNQg7kLEuDQhqU0ljB5o+PwvOMfRgVfI2hYsKX+fa43Y0jcWk sTV+td5oLlzQK2g3/e/OArhr6E1VLUABZBzFhAD6piOIbREbDYFXgh6zS 6oHkl1ZJs30r0FAyOIAEJy/KKUJ1UBQRPOYgEuLibR5gdgKJQUGpk3vIF IqGeUjvIDucRHho6adf6ChY4xNTlqsJfAH0yMlJafYzWOZj48+T9ITiqB A==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815454" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815454" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274321" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274321" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:33 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 17/19] selftests/resctrl: Move CAT/CMT test global vars to function they are used in Date: Mon, 5 Jun 2023 21:01:43 +0300 Message-Id: <20230605180145.112924-18-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767888624043701308?= X-GMAIL-MSGID: =?utf-8?q?1767888624043701308?= 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 --- 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 Jun 5 18:01:44 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: 103431 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2876232vqr; Mon, 5 Jun 2023 11:28:51 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7bAWe6rLEGaUBVCVYcd/4m+z1Vynh5MvJwVrJXJK4Kdcd4kleFjpVUn/8EZEl8Z9PeeNk5 X-Received: by 2002:a05:6808:2746:b0:39a:b787:1aca with SMTP id eh6-20020a056808274600b0039ab7871acamr3930469oib.49.1685989730909; Mon, 05 Jun 2023 11:28:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685989730; cv=none; d=google.com; s=arc-20160816; b=iNStSU38+HyvaTo1iWT0Ac8MHqAgEtZb6yLbQUcxUCpTKo0NKcrVLcOrpKcV2dvwH+ u8bwpzNSW/ptJP8BJXfddcyvsMypLAfEjmSgl85q/oe7vJ1P4xxhKMPWHBtm7fwOq8dC HOEsnXcp19igBt318tizXPcJx3UhV8yljK8VYx5CJZZ4SWM7hziTmhnB+L7cn9Up+l5+ obap1tEKmKeaEKHYPiKGQ5U2AR4ht8anqT+Gz+pFuU9MEAdqKTU+yMXbyI+CevhjAJ9o bEiBCugkRMHKdfAyJ8wCW3ErLRpaXH9Mtky6gYHrXz2H7xCsWnkUAiWPejiUvxetgy8D LNIQ== 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=W9Kt+BilXQiJHsdcIFXcBfFaqWQ3rPc3v5CgHZ9+BNU=; b=Y7Kc8FJBTWXRLSGudP4mq43zXdjldYUdz5EhFJuRYdsQukh6cNg0pzVTFXE/dT+FZG FyK7a+Hn3jw/4yBL4Y1dGv6qPayjHAR7LvPwnmiOuVy/cJfMKUGfQUpXEmrTYjxc2tLr WyxiIeUQugPm79ZOqwLAnt+wdmq9WBtD8akJ4MCvY2rOej1YiXUTMMHixs8dYxjgjwB1 UG3tUj6w1Yd+mxkshg8m/wTQvDl4msGBq6zWgcpXpQkSNLI/LAhs5iNn7MHQQJHtqETq KfY5uviUnR4xwYJ912kpRHhQ9WqTRhY451HcDQo05ZZoACAweAZUnTH5l6RQvRhtvkj/ fEbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Wqpt7jOa; 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 k62-20020a638441000000b00530b7eca08csi5250598pgd.524.2023.06.05.11.28.38; Mon, 05 Jun 2023 11:28:50 -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=Wqpt7jOa; 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 S231451AbjFESFM (ORCPT + 99 others); Mon, 5 Jun 2023 14:05:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235503AbjFESEW (ORCPT ); Mon, 5 Jun 2023 14:04:22 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB60B10F6; Mon, 5 Jun 2023 11:03:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988239; x=1717524239; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tlqcBuGsxOSKA74bKjbrp+jQUh7f0hcz1UsL+nprPCM=; b=Wqpt7jOaUP7T6Zma2jkS7N41+GFkGsSzywN/hkT9eH8F1symbnGa7ja+ nP1jxfM/KVuLqgkvxTzVCkcf9KkqQgHoKvuAxi/Tx0N8GQTW4r4RSYj7d 1pM+Tizzia2uo2vcdyYGnkf+uIe1Lw2yk1kDao0qYpprGKjYrNP9MpmBx fYPlRqB6rERAuscFKRJzzLEJ6+GwcAl/vj8VdgdyzX1NyfUInbKw53iTA IMx16CTE+ztTfC+wXLxlyiGv5sWUCy5N9YQ7+bzvRP2opNs5ahMlbL4XK aqV0TRuJEULRu1owJCqEet/VUn+p73PS9nEyxPJ7X5uPeWnfPuLMOs6Jk w==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815458" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815458" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274326" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274326" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:36 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 18/19] selftests/resctrl: Pass the real number of tests to show_cache_info() Date: Mon, 5 Jun 2023 21:01:44 +0300 Message-Id: <20230605180145.112924-19-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767888368513452770?= X-GMAIL-MSGID: =?utf-8?q?1767888368513452770?= 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 --- 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 385c01dd3ec6..5aa112e5fdd3 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -290,7 +290,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 Jun 5 18:01:45 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: 103439 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2886780vqr; Mon, 5 Jun 2023 11:50:24 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ71CUgXOKn6RRvlLPTbMh8f+tmggW1TOzTfrYHCiE+MktSqGTLjGIogOLs+GvzK1XEpHYFv X-Received: by 2002:a05:6214:234f:b0:625:aa49:ea0a with SMTP id hu15-20020a056214234f00b00625aa49ea0amr9335321qvb.29.1685991023936; Mon, 05 Jun 2023 11:50:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685991023; cv=none; d=google.com; s=arc-20160816; b=QRlNpKdW7CQu618t8oJv1hTtuirumvWp1BrJLYOsGJDF9GiP7C4RzCZJ9wNTXpRQ6X I1jcImRZ9UgcF+WCijWiVY4PA/hlxj4+yRx+5uZMwZ1lZfoxo3vpzED94cnBLVHzqgDK 3AfvvY0blBS0s1N4AtAYFt+r1NSl4rFhOoYXTUu7jIN/wKfJ2tdw3H16ZLQNtNOB9DLv i750BEiq9HBk2PIO6DowhZv+shAucGxVwzZ7uiqTAaSu8PkIHu5EoNrIf1o4AyNmZwXV Ggfi7dYJqeE5DI3vAU+UlA8YhIj1HaUGNJBpGvMEk4/d4phLt/cLAI0mPqwbZ5Hj7Rs/ eLnA== 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=pVcrq8/TEODo8Ck01rwsGAgGyBUWKsuB+QR1gpeztc8=; b=0ISvjVTn0TQOTXw5FIO3OaIZ9qwH2RvrXbjTzFOx1GIhctustJ/kIDNp/aDXJiUggJ tMzCGidL3UnTRuHrGUCVY7jl1Vhppbi9cdHbmY8uzDm38BTkaHCDD8AvFkiWKg2Hsalb q4h9d8ZPB4NN6/puFOUyx6i7UKwrkyhHvGpk91I9VkUOJEwGR6rFEaLl4ovHTUCbALT6 gZyXebSEvDWEezPvcZOux0jBUf7FcD/t7bT1+Zxg8BDw/L7UcX1Xk70aNKT6+UvXZpuM IRUm0OXer5N+Z772IHgyYQlazdztw51aW1/7GtfO1rYGIt62OpOUeg1wT0EA5xu5/r2B A2Sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dzYxMN3c; 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 iv7-20020ad45ce7000000b0062164c72375si5452783qvb.267.2023.06.05.11.50.09; Mon, 05 Jun 2023 11:50: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=dzYxMN3c; 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 S235507AbjFESFP (ORCPT + 99 others); Mon, 5 Jun 2023 14:05:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235675AbjFESEm (ORCPT ); Mon, 5 Jun 2023 14:04:42 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 486B8171A; Mon, 5 Jun 2023 11:04:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685988245; x=1717524245; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=B1zmj95tGIdII2SZaOFKFZ8yIm0cMc8pTOJH7ndgiGQ=; b=dzYxMN3cphfYJDWpZM+cEhM81ybrkF/UufQDDSjivZvNSrZpCEGsZkjb ARUQ+ArnXL4lfrm1TR9FRETctnyfCoojv+Pe9trbggHIKQysGyHKGqB17 tPI7hEoWfMW0/g7LUvcZTvmtzAafTfiBqPs+r0a/bvh2eqSLdYTHDhK3q Zh70GbNOUOY66ug9iFFfYcDxNQ9X4GTwFZmYmNrp0lpd8VjBhUTqQJetd jz5VQEppIZUrj09Bdq0AwEoPy2I80O71HK5l7NikDoKBsJ5zP2zdcSjCq EIM7cILBiVOOkoAnQyMbNtb0Brv62l2k9ntjSKnDRx/DOWf3ECkcWSFuj w==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="442815469" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="442815469" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="821274331" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="821274331" Received: from gfittedx-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.47.115]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 11:03:39 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v3 19/19] selftests/resctrl: Remove test type checks from cat_val() Date: Mon, 5 Jun 2023 21:01:45 +0300 Message-Id: <20230605180145.112924-20-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> References: <20230605180145.112924-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767889723696293165?= X-GMAIL-MSGID: =?utf-8?q?1767889723696293165?= 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 --- tools/testing/selftests/resctrl/cache.c | 47 +++++++++++-------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 5aa112e5fdd3..2758e1a3b255 100644 --- a/tools/testing/selftests/resctrl/cache.c +++ b/tools/testing/selftests/resctrl/cache.c @@ -231,37 +231,32 @@ 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; - close(fd_lm); - break; - } - - sleep(1); - ret = measure_cache_vals(param, bm_pid); - if (ret) - break; - } 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; + close(fd_lm); + break; + } + + sleep(1); + ret = measure_cache_vals(param, bm_pid); + if (ret) + break; } return ret;