From patchwork Thu Jul 13 13:19:14 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: 119908 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1833012vqm; Thu, 13 Jul 2023 06:41:34 -0700 (PDT) X-Google-Smtp-Source: APBJJlH5/MR8lm5+T1aNw1Xrm55mIHuDrhW2/zi3YN3naRfYBLNZHcXjCtLqx2ux0rawXukB/tH0 X-Received: by 2002:a19:5016:0:b0:4f9:52f3:9a2b with SMTP id e22-20020a195016000000b004f952f39a2bmr1232438lfb.54.1689255694519; Thu, 13 Jul 2023 06:41:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255694; cv=none; d=google.com; s=arc-20160816; b=JP5we3Y9M16y2i5WAePxjmBTyzWLKhQz0dvUHaifl4oP1i1qyaaeEfc5xs5vPig5HZ 0b50BX8/lXbK0+e20w2WBX0+LP6JmbmH4KaEKSf9+92ZxzRyqXkLMijdou4fYpKM5F3Q wUXmTJyC6ogqW4ZHP1Ej1A37XoUiNQHf/kof00/vrM7NZKS92Rw/Wn55oI/mNSVji4Nu 7VuogaHLr3XZJsE8DddCZ6YgGtlm7A/oU83dcvFdCQXMQn/1ggp/2HjWhS7tSS9ZksVI zXWe7KUgdgi9i7oh5brjCGsTyw39kXZuQYjwffShoUtEYcdIcXR6Qqk6I0YG5nWRQvJ8 pCQQ== 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=; fh=Ub9PFYMxVygA+0Xpq+fwFd2Pqb8XsEOzK1NyFa5MuDg=; b=FrD35wtYNUiVAbB87n4/kZpTVM6OtU3iQ4vO5XsAVMnvUQzZcUOg4twEQvp4Eqx89y EtcGHq3/t1awMkhQpsDaJKVJwlzPb62N4y2R8WYszUPxgB4gIpfuQ46OxZmoVP/LjE1V xFcT+oKmwfZ3FbYy8opAPQHcvn7ZjhvmlkgVJ/lmxFsgojmfrAgt6u3CqotBHYUPC6dy RdVQdfqDagEm0Bdl+qTWvUI2WrmNgqv+PAU0ZC/3z1ajgVm5W9JevAD6Y9O3WLf0YLSH zlOEZvuh8rA7XYbiKCxFbwmFy4i5He4pIpMV0Qmp+bZN/CNfH3CXWlrSRs39JYm8GbH+ B7sg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TbtAK4Tx; 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-20020aa7dd0f000000b0051e1a4803a8si7428310edv.116.2023.07.13.06.41.09; Thu, 13 Jul 2023 06:41:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TbtAK4Tx; 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 S234867AbjGMNUp (ORCPT + 99 others); Thu, 13 Jul 2023 09:20:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234998AbjGMNUa (ORCPT ); Thu, 13 Jul 2023 09:20:30 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D4012D70; Thu, 13 Jul 2023 06:20:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254421; x=1720790421; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=GfdCAOh9DszUxeIi/d59C0n2Wm3we7mqJ8T1ceHWh+Q=; b=TbtAK4TxV9qHMcoCwzSS2oV1dnmrcCurIImIW15awdx+n2jGmnxo0ca7 Owvce1Mhrpl4lvYpUGv0DTBkVYi9ZntyaLUfYYkle1WgOs4lovGuGf3cz iAFnA2XXVcNqGY9E0LmgAcowlikgGs5Z98LyBuqma1wmcrv/5OlUlRExH HQ01bITXXteiy1/U8H9N/reX2rgZIfUPiNXjxS5JwNIUnkhBVyMX/4YPr O1CG2GrnZsWNgJKrMyI/PHLep9jADKhrEDqo9NnEDI8tzUUwS39fg0yzL 5KAuXRv4EzcVd3pJogaF02TXZnme6xz9Ya0xeKtKkuRKaYor588OL0rNq g==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496521" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496521" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615686" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615686" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:16 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Babu Moger , Sai Praneeth Prakhya , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v4 01/19] selftests/resctrl: Add resctrl.h into build deps Date: Thu, 13 Jul 2023 16:19:14 +0300 Message-Id: <20230713131932.133258-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312979254971177 X-GMAIL-MSGID: 1771312979254971177 Makefile only lists *.c as build dependencies for the resctrl_tests executable which excludes resctrl.h. Add *.h to wildcard() to include resctrl.h. Fixes: 591a6e8588fc ("selftests/resctrl: Add basic resctrl file system operations and data") Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile index 73d53257df42..5073dbc96125 100644 --- a/tools/testing/selftests/resctrl/Makefile +++ b/tools/testing/selftests/resctrl/Makefile @@ -7,4 +7,4 @@ TEST_GEN_PROGS := resctrl_tests include ../lib.mk -$(OUTPUT)/resctrl_tests: $(wildcard *.c) +$(OUTPUT)/resctrl_tests: $(wildcard *.[ch]) From patchwork Thu Jul 13 13:19:15 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: 119888 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1821660vqm; Thu, 13 Jul 2023 06:23:19 -0700 (PDT) X-Google-Smtp-Source: APBJJlF5LFP9KhhO2MLHHYC5m388LXSWMEf5iDIiSC+N/EeI/D+WHnCacTtO8q+J16PXuRnn6uj/ X-Received: by 2002:a17:907:98af:b0:98d:f4a7:71cf with SMTP id ju15-20020a17090798af00b0098df4a771cfmr1422646ejc.62.1689254599464; Thu, 13 Jul 2023 06:23:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689254599; cv=none; d=google.com; s=arc-20160816; b=Ofm6WDSxvhtHT+JHnd1ObtsbOwkD8aLoUIlBMmljGtQFmNh9lFeJz++ikEPHKF0PzR dO5D9QBgdtq9JC4vYSzx0+tGARbSyKashgtLrenvOyeM+pmsYzgbS7qrzWDcsZGj9NR3 oU+IeKgxbLagqRSyO6/lKFlIHguZCEBJFa44oKXgrtBCkgndtTUmvTT7ZxMcUp3FYNz3 cVKcyRX/dKcs1GEkf4ihj1eCGrcjZqP4Smes4aP1cRxlYNkEUIqvkAXSfedDWLpSG+iR w+MfvHZAZfqY15ASeohTBA2EtDYE6M+Tg0HuAVqQ8FPTw2gCa7+ZnAPulYwDzj/G2iuh eaNA== 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=; fh=JGvS7F4GRFByFUotgL/hNTn+YJdI1o7ASnYprHkHKig=; b=MhVdtbVXTX3FlMTdKsIKiLtGMp2z/iHmBJ55w8OmxXbMFANBMRi/WQwkA23mv1+MPR hCplzkHWbUb1Oj0xruknMdKtfwyWmmKuVjGhI03CBHt7nn1cEFrUm/qwf/LsmVvPgL8k mZBzLrgEtethIqkUYcy5amR2tEde/Fn9rWOBbYbChYfeCms1W8k64Rwq2xl9hd+6+vV+ zwO+5FcKa/x48U/KId0gLO3jlxfK98s8OqXy78MqN78pVsl5pHpuj6X8i+nMuUFIlEn3 Xl02uxiD4tBrUAmzqWfnwWXdW2oLcA7OCfIEx9HZMjLQztnuChc7meLcW9Hte4cM+gU5 FGNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dfi3BudE; 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 rv17-20020a17090710d100b0098d52a2bc16si7594520ejb.438.2023.07.13.06.22.55; Thu, 13 Jul 2023 06:23:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dfi3BudE; 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 S235145AbjGMNUv (ORCPT + 99 others); Thu, 13 Jul 2023 09:20:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234797AbjGMNUa (ORCPT ); Thu, 13 Jul 2023 09:20:30 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 553572D7D; Thu, 13 Jul 2023 06:20: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=1689254423; x=1720790423; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eyfFQOIKAZuYYHklcPqdTE2gmRhrKpH4qZtrSJz6apA=; b=dfi3BudECKBmEr/Ori08aoyjCFjc9CciZYn/IlKMbXY717cJXuBMErzh rfgWVfavlAU9ldNMgjHDB05cRSzbpJnb8XFGoS6Y7DalpXNX0bqjtkW4x NGGw+SD6RqZM8OH+U1euXqvurBeqBN166rxoC7iyq2uU5GR67QM43KKsi +433hXBrDhmCksx+D9Y0bEfzg0Do05v+NypgOJ4/sqb4Hwuwj+wyvVMlj pvufA+mRf0+Iyd2g5wH3gOPfjN8umvzdLHpKslkK5dky0yNiwtvHmBtN0 dQNsNstcqNgEE5EFU5CHuJ0GTLWF4KH/NancnkDsObwfkImE4xiQ1Jz8j g==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496538" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496538" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615700" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615700" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:20 -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 v4 02/19] selftests/resctrl: Don't leak buffer in fill_cache() Date: Thu, 13 Jul 2023 16:19:15 +0300 Message-Id: <20230713131932.133258-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771311831010155316 X-GMAIL-MSGID: 1771311831010155316 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 Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/fill_buf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index 341cc93ca84c..3b328c844896 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -177,12 +177,13 @@ fill_cache(unsigned long long buf_size, int malloc_and_init, int memflush, else ret = fill_cache_write(start_ptr, end_ptr, resctrl_val); + free(startptr); + if (ret) { printf("\n Error in fill cache read/write...\n"); return -1; } - free(startptr); return 0; } From patchwork Thu Jul 13 13:19:16 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: 119906 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1832355vqm; Thu, 13 Jul 2023 06:40:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlGoL2OUtqwB8L3HgJW7Aizo2gLh4S0Vpqw24CzHVNFZg1dMdI6o6uUBrP5LeVst/+/c9RR+ X-Received: by 2002:a17:906:5194:b0:993:e9b8:90f5 with SMTP id y20-20020a170906519400b00993e9b890f5mr1579111ejk.8.1689255620833; Thu, 13 Jul 2023 06:40:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255620; cv=none; d=google.com; s=arc-20160816; b=XW1FyQYJxJ5/vtT68uyXR7Pmh2wqQYSmi08mbk0DT9qOyxqXsPMW9W4RGehsuQ+e+k 1JDH1omiRRUaxBsNfhxsMLPtlmwJY44F0GoLxXY/sa0TpmEPEublqHYsa9NIDfdyrDJj XsxksYofQ7B3fJ7hEnnZ5po/ecip8f3Srh+ChmxAT+JXZFwB1vFGYdAeuZncWjzX8UlO 6lX8QBOJ2ABk0RvsvLmhK4R6GmS31C5h2OfzpINu/T+Gg8OcIs2AkDPSKLlQX7GOUXBa W/8+VQ+0gbdXKCOXpkOA205mOcQ/SDBlKngdi5VGSap7OFUlcIH/nqo14YCAK/COI+c2 Y/Wg== 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=; fh=Ub9PFYMxVygA+0Xpq+fwFd2Pqb8XsEOzK1NyFa5MuDg=; b=eWNCI9ttKfzmlhFO7XKOPMIe0ZE3MbxhHmHFWMz2ukcGAEvjjxZNlN+rCpWYbNN55g KY458YIl4XGiXhUXkm5Q+yQep8GP7zF108BBjWM2L53IYkbPBlf5Vs8HeNH26BG3r2oQ 9FNCIex7XZYYgy+ATi0R91FjxFLztNh2z/bW/4TD4Gg2EMJsXrHOnl3oSjgtq3wzgPZ8 5/nwobzFtCw21Ul0bkyGFML8JsMq9gSwr21XQo2iKTSz/nbWLlOeIwHGiE5EN3r4iglF pa6Lvg44vQS/pDsgu+DRv2HZ0bpl1Q/AlVE9zPqu2FSDLiG1QAeXDzAcFruIhYTARxkU Hu2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=V3b4HCbx; 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 r12-20020a170906350c00b00992169858f2si7580013eja.3.2023.07.13.06.39.56; Thu, 13 Jul 2023 06:40:20 -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=V3b4HCbx; 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 S234417AbjGMNU6 (ORCPT + 99 others); Thu, 13 Jul 2023 09:20:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234839AbjGMNUh (ORCPT ); Thu, 13 Jul 2023 09:20:37 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7BC830E1; Thu, 13 Jul 2023 06:20:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254427; x=1720790427; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8fEVbocJK76OsCYtzLBWGVMQr0k8AvV/EpnfvvAei/8=; b=V3b4HCbxFRaUoXjeZ1j6rDCl2E7ytiwepYJYyS2gCaZvnBcX33DrYZEJ xhTBrMTgXvAJlPfSTRyjSR8EeUx4VbvKd7SvrsUPilb3lPDJHZfCkckxR Z9jVEWjJe53gq3Sqpn6AOibdOErRFvipd3qcDfBOUtnakZ0CieVeKWX3L 71xfONcWojh3zNLeuwREXnqZ3Cre2jcnZm7WPIYGNIkMCP8ZoJdUVSkHR tiPJckV5jvHiQ9hncLfI2cxAfd1uBa3WPD1DP21Qpij6e2XeOPVcLBf+k DZfNK2X7ieUqkjD2iKFCzkHroqvP/enn8oIpOtxfDQP1cbzTiJ+p+oomh A==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496565" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496565" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615719" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615719" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:24 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Reinette Chatre , Shuah Khan , Shaopeng Tan , Fenghua Yu , Babu Moger , Sai Praneeth Prakhya , linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= Subject: [PATCH v4 03/19] selftests/resctrl: Unmount resctrl FS if child fails to run benchmark Date: Thu, 13 Jul 2023 16:19:16 +0300 Message-Id: <20230713131932.133258-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312902038736165 X-GMAIL-MSGID: 1771312902038736165 A child calls PARENT_EXIT() when it fails to run a benchmark to kill the parent process. PARENT_EXIT() lacks unmount for the resctrl FS and the parent won't be there to unmount it either after it gets killed. Add the resctrl FS unmount also to PARENT_EXIT(). Fixes: 591a6e8588fc ("selftests/resctrl: Add basic resctrl file system operations and data") Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/resctrl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 87e39456dee0..f455f0b7e314 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -43,6 +43,7 @@ do { \ perror(err_msg); \ kill(ppid, SIGKILL); \ + umount_resctrlfs(); \ exit(EXIT_FAILURE); \ } while (0) From patchwork Thu Jul 13 13:19:17 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: 119889 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1821748vqm; Thu, 13 Jul 2023 06:23:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlF+U0ePdev5m6NjvPk/FDL0REjpzLGywZA2AGh6e05ftyoaXVZh8ealhKr+oeoLbPlF5WIW X-Received: by 2002:a17:906:738c:b0:993:f2b4:13c9 with SMTP id f12-20020a170906738c00b00993f2b413c9mr1511692ejl.21.1689254607672; Thu, 13 Jul 2023 06:23:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689254607; cv=none; d=google.com; s=arc-20160816; b=V3+CV4IHQ6dIwDiRDisXmUc3aQ82T634cIs45Y+fqS3kqDsvrEmvPXz89MEhrsBk/n 9o58Nr9x4YJ4OGEJW+a268/cgKxS/ZEU7hWz1epWx5pcVKnwTiKD7QHKdQ+HfQhTjDVw j7TNt3p3oc2qsXV7Od300Nurs1EHeZEz3pfZXpOEud9hOKh9ETNzS02m0RrnClEvNd1+ ZKQsVaFBpx/s8eTC/F3N/dqDdplF20dj/AQoVZ56EvU9iP1yXBREWibhbfGhA1NANcA+ qKwhhqAtkeMBowSUG7uPJyrEoy6CkyGNq1G39g4EfjKAZsShpO/kB28Bl3TyHspfazLk lfcw== 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=; fh=zadu2NYU0jRL4pf+hGpYnN61BXmsILopbhQv8OVWGQI=; b=jXWDUjKpZJJLzt/jBk5ezmGWyc4A2ZFWOzAStB4KjXv2PQUUE9JbjYsrUjjegflgIZ 2tYkNbCxDTsw9tW3PXHGFgasPE+05POKGD6dNlNFFkfPvJa+ey9uoWLxTrEVLK6QPiJ/ vgruQRT1N9wlIHCLJOr3WlJZ1SSugqIWdmAawFf+eyXtu1DckcdSkYK1eYCmI2Mr3exV ynW2sGdVhW/hcKbRAIHc3Fp9OVnngo70FEnaVsN84XMBHayrir9LLe3Lug/CC8HxMxnV SMluI8EvmSdJIZn6y/Z1M0jb6jQEjaQ6W0/9nwSypSzl6JKzxinOQSqiHFEXPih/T6fR kfPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hO1C6B0l; 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 x20-20020a170906711400b0098df1cbe2acsi7177295ejj.997.2023.07.13.06.23.03; Thu, 13 Jul 2023 06:23:27 -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=hO1C6B0l; 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 S234846AbjGMNVG (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230514AbjGMNUl (ORCPT ); Thu, 13 Jul 2023 09:20:41 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72DC1213B; Thu, 13 Jul 2023 06:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254431; x=1720790431; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SfPvkmzWJcJdc6LqGPirAEzeqOxBh6wxev3IG7Dp8Fo=; b=hO1C6B0lLC21mJUarCQLpq/Uts2FxsxdaUfGgLbXibQdG8ciS/IlZzfV XXprmbV2RzWpSy2EoBhloYz440l/XnqnnUVB4IHesSF79IlxpCm7j1IKg hVG3WtxKowpmtpuvoxxBlNj7U2i60Z+zC8yCj77jN/WXxRw4e1yJXARD5 vC5SsCYpxYDHLWdQIu1gmYkIxC08W0TyUJycymX8kQJo0DEGTbUkraBu0 ACvcLo2xwkZWf9lcyYy/WmnVhr5HTA7SXbbMia/iMKtZgCwurFZZ5183n BZjP2VII5LLHHiH/WnS5jNxrwZJnxR/fr0yo/Pp0ZWcB45wrCLSlB2bS+ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496593" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496593" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615770" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615770" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:28 -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 v4 04/19] selftests/resctrl: Close perf value read fd on errors Date: Thu, 13 Jul 2023 16:19:17 +0300 Message-Id: <20230713131932.133258-5-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771311839463682467 X-GMAIL-MSGID: 1771311839463682467 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 Thu Jul 13 13:19:18 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: 119902 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1830583vqm; Thu, 13 Jul 2023 06:37:18 -0700 (PDT) X-Google-Smtp-Source: APBJJlG2NrBHMZFVNznCxH3jjy0QJeYGlnTT0IiCe18TBiQ75faY6O0Oe6mcHmWsPowqFggku9wP X-Received: by 2002:a17:907:3a49:b0:988:f1ec:7400 with SMTP id fc9-20020a1709073a4900b00988f1ec7400mr1286339ejc.36.1689255436238; Thu, 13 Jul 2023 06:37:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255436; cv=none; d=google.com; s=arc-20160816; b=lJPHYZ822VpIg+F5uQ45M1DhIlFLCTF9l3aSty882+u8VtZn/7I8xTJc9wRyTiZ3AP xtJFUjMn3SLWvLIq/0JxXWudEJjZXDwMyGUMR6vjKyadYhM4RmEt9J0/qw7o3BDDl4Jl 0xrVlXp947CORx6SQwhQofDAXLvTjGIO9RQZrNxbNjA8lpgbVDJncLMJkI6bZFKbv9aM QpVWoqCGbl3AviO7IbN2QzN7HEZCSGaEc7ov00WiPw2VLlDUobfaXtzwJHBgEr91GgK2 z3hhL56zRZ7Ir57QlR98Mx0WqpMBAr1maKP7Bu0MCPlRy/bZ4SWEBdJ5Bp1LN9s4bOqB 1wRw== 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=4FGOmjk7Kmehzuf7UKlgkfLMzdb0jzEsIX4NQAdAsyU=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=PSpNSfTPQ3r3/+oOAmmsSdtPzck67GxQ2YwSlLVcvx7vvUJwYsVgK97J7CbSzvedYl UgeYfXHNWRsS4Ym7mVfmSZDvsBnwQl1xvc+WHI3RoUa0pXjjJtMLYBh7Y5hYaU2Zh2k5 mTRtOBkcV4phEDdP3hnbEGmSLmJdysNs8Yc4DMyw7AjohISQ6tLyLt1TJKK6W8qLggWe d1JYx62I3QhnuItZ1xJRNUvVlsRc2Qcs2FQeZivlwvuvuq4fyMqj0AoJcWVucC0Lizdl 3qbKHeVpx80wbSZGnoJ3EaNJj3QUOIbOjZN8CMoc1FSGNVyAtBttvhIme9i9msqbTuVS nlNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TkKRkp6O; 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 i9-20020a17090685c900b00992ac8614b7si7277259ejy.69.2023.07.13.06.36.52; Thu, 13 Jul 2023 06:37:16 -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=TkKRkp6O; 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 S234643AbjGMNVM (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234495AbjGMNUo (ORCPT ); Thu, 13 Jul 2023 09:20:44 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8CA72721; Thu, 13 Jul 2023 06:20:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254434; x=1720790434; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Hn0fYehjq6FV6t/LfA0e2GwEyK8XmldiekSokujXnRI=; b=TkKRkp6OFw7a7CyfCqDPaxrYgI6Z8DKzZLRzZa2oHJhSJLnkO5oUMCAE wN0u6UPB27Dky6CgkIcv01CiDU8GmjzQmrwd5ndnafgAlVDklbSIDfCDE /eTUiUn9CG34ncpTH7eky8luDvsZTK2XQNH+jWNc2jfOQTmZCuiazOXro bVSJvUCdpktJVtGVw8e+pYMZR1Ly2kHi/UxmJ3JX+RppqaypPnlyDcqSS NUa4v3iDFAGaWq7C1hQV5m8KM8UNTg94THaOHzpCk1SK3LCC17OISt0Ja /2nzopszEQh9l869vaQAIQpl0YUi9kouUxGnMqxEyAaXTflZ+Gkw/ccn7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496617" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496617" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615793" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615793" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:32 -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 v4 05/19] selftests/resctrl: Unmount resctrl FS before starting the first test Date: Thu, 13 Jul 2023 16:19:18 +0300 Message-Id: <20230713131932.133258-6-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312708207914819 X-GMAIL-MSGID: 1771312708207914819 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..b1b2d28b52f7 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -250,6 +250,8 @@ int main(int argc, char **argv) if (!check_resctrlfs_support()) return ksft_exit_skip("resctrl FS does not exist. Enable X86_CPU_RESCTRL config option.\n"); + umount_resctrlfs(); + filter_dmesg(); ksft_set_plan(tests ? : 4); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index fb00245dee92..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 Thu Jul 13 13:19:19 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: 119890 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1821887vqm; Thu, 13 Jul 2023 06:23:41 -0700 (PDT) X-Google-Smtp-Source: APBJJlGsrG6tfj067r/PexOgbcGtaP6RE8Pw4o4ZB9SIayJ+d3AItKoWX2LQEPDEoifCySF69SqI X-Received: by 2002:a05:6512:36d2:b0:4f8:e4e9:499e with SMTP id e18-20020a05651236d200b004f8e4e9499emr1079786lfs.12.1689254620692; Thu, 13 Jul 2023 06:23:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689254620; cv=none; d=google.com; s=arc-20160816; b=E4onj6OCSPj4vVYzYUCaiLwcscHGo47ZGlFqXaevpYtq4mRHs912fX4jst4ECVPqrY fQrA4/33c/VlkeM7W0FqmtD7vKdBXKWruNyFTwEdH9Q0j7NDorKjLxPecMPrOK88CU+W Of0UkiXjgP9hryzhe8DGaciV1YpOanUmiGun5pVHc1/JuXranc/ooywjiYSZkZfVkCqu 3YO2LiBpIjWE1+o2Adc/6AfKawopPYsMP6CJUOqErDXExF77//s8LMPIHTI6CI1HEpP/ VpSRjKQkuIZ6U050lwCUcsXARZ0xXMYYF9pMaagCsJRYhEcW4GR8M4FERBFKI88FelCl DdPw== 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=Oip4V6p8swpjs2Hy6Ce7E6cHZH5Gmo2epdnuqdTcCDo=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=A0U9HvoMI5cg8BJ6AgoWiBusqw07Cg1v5QfC6EmS3Z2JEKnnkcD/exVuk5uhWg6T2y 81eJbUfA/0w9/bgOg4wy2fpZDwXNtHsbs0jBBOK0h26vi5MkKGIE1RM3LRV068Kpr9k9 DkYTfbMYoBVHxc/FAnyMz7J0060GPIXNLtCHRxVy5ZGS8MihEKN/tROjPEyuijalBxpk yPG1P3XB+BWKRGjPcy9olwK5wf4a6yJtGbo+s2LmdCHnD0K1CrllfyUqkKk6VFCF8iuM owLczDTekyu/HRiFfMm/ynPZLeomwdUmPZicEZ8xoCeh3Xfcm2YFH5FjK5SUB7lqHs8N dp5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kjqjlRg+; 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 n21-20020aa7c455000000b0051e186a6faesi6872214edr.194.2023.07.13.06.23.16; Thu, 13 Jul 2023 06:23: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=kjqjlRg+; 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 S235005AbjGMNVT (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54494 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234927AbjGMNUq (ORCPT ); Thu, 13 Jul 2023 09:20:46 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B4D22728; Thu, 13 Jul 2023 06:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254438; x=1720790438; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fFkFFFd2y2jKWl+2aoiMWCfgfLwLB1Qvo1uHm4CoT5M=; b=kjqjlRg+EWGYo+oUpsQCp1jZ4+I5PP3xnjQ4stO1K7Huni+FjCWxTC3+ j//vLa/z2nLSs+s5OsFDmfdecku27nMNPMGF/3knv+VL+NHzXcGn60Tth aZcjpP+7POi5OnskqayWYYSPr5vUX/KavQ9UR6M2sjuXiApa7umd+lSrX UXAI3j0TuOyZNk9J8I/HAML3+GPbdA0SXbcq/e9k6xRY+NxnxHHdONw4p YqQlHshxAPHn8pQK/EBmlK8eJhwuOHaMNKVXZeR3gQf0ELfJ8Ophk0Owv XxH3+MVF7se+QNOzpKwZ1xTizuc5euGjQnxAyiM9IprYKrgtB5rc58LKH Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496637" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496637" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615811" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615811" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20: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 v4 06/19] selftests/resctrl: Move resctrl FS mount/umount to higher level Date: Thu, 13 Jul 2023 16:19:19 +0300 Message-Id: <20230713131932.133258-7-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771311853031485240 X-GMAIL-MSGID: 1771311853031485240 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 b1b2d28b52f7..a421d045de08 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 Thu Jul 13 13:19:20 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: 119894 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1826720vqm; Thu, 13 Jul 2023 06:31:09 -0700 (PDT) X-Google-Smtp-Source: APBJJlEzHEX8OmRQwHWyPclNvUWReZ9WsIdpGtg2csflshFTIZr1A+Tsv3vaO5ol1gIV9g/TfPjJ X-Received: by 2002:a17:90a:be0d:b0:262:fc42:c7bc with SMTP id a13-20020a17090abe0d00b00262fc42c7bcmr864169pjs.32.1689255069637; Thu, 13 Jul 2023 06:31:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255069; cv=none; d=google.com; s=arc-20160816; b=Ry46pIvKMSM8e+b9SDTtaQYVCVW47fG0VBzj5mCA6dshCeH+wf74q6yaJJmHgi/cJJ HmsLQQvihA6MDWyN6Sfd2xUrLqi1ALVqXjDL7N4GsIGVI1H5q2TaxV6ULVWOjegIKfOT s5wEoiJzLQncjGMoyTYOU3sTrN9m+/+TIQ4jY9BmZyrCrYSPZvd5Uat1wquR3An49NLx VxIDuVXPC1IDP2HWpRTqJzaKg+BoUf9JpPHz1Y/XZWj08CDdzepZPgYMAlbs4xOvnan6 c3wOn5wdfWUrcdItfSQGrQr6oLnhN5nKmK6qy8iiTpLAUTKb9ZARo28XVL8O75PoSr9l 57DQ== 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=2OOj3dKzNSx9YiVeGlODY1kyFPn/FVZRzoN+hWJWNi8=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=Uv5pWnevmib2BdHDuZtFerdlw+a485QT7zgZy/FdNnrIIXeoaACnU9DujG5rZNOVIP eDAocx69QwVK4kaquZvFebipS7HNVZFFxvSAmcINJuChxlaGRMZrvowo7geWVJxDV0Fa CKJblvNpWNmPIREFkS7pQMp91N6g4hMhzuiQK+tv4OAa1FCFZGssEi0LNKqRQLtX4pA4 4b3oA/PjU+bcqDXgokIj3RkLc4xy/FBw+KiPYTvsTxMBtOTX0ckCp/wX91mNWYub2PUn djbbwRg/OHfaogVehq8pShuXNHLI4cg6XAuyT224pBraiXf0uARkPfC6Dwkff/qsgKa1 393g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KD9pu+h2; 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 oa3-20020a17090b1bc300b00262cc4177ebsi13595013pjb.160.2023.07.13.06.30.49; Thu, 13 Jul 2023 06:31:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KD9pu+h2; 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 S230027AbjGMNVa (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234513AbjGMNUy (ORCPT ); Thu, 13 Jul 2023 09:20:54 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09B712D48; Thu, 13 Jul 2023 06:20:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254447; x=1720790447; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=e4ibwDjlAb+ZjhQ1AfFhannM0naGZnGDFIvVBzF6V0E=; b=KD9pu+h2bBpgF0TToczU3XXHfFRGVQKK0J0iB+rTAqX+mR2KqxcPJoxL /ycCGEeD/ubM4slf4jQ2v7OtdspoCoavc19CZ/YAHo6m2iLTnEnv7Z3hh /Yk7nBo6Env7irD1SDC81iNrPpEaczn8kHYW9QGso37igcmiQE6vkbVRn /rjoRNUT8tiI+C0kiJU5RDqVryzvQGc1ouOGFzPtsditXRcycXHMWV7+H zfDK0ZnZTe2sFaQ4T3MZTOM4wIstEoUE8EZI1Wf0qRjKTZd3EmgDb4sVk OVSO1kmc/DpCMw+GOEg+55XsmO89H+ohChyGG5SrTuytaHXzE87mhhdee w==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496707" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496707" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615827" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615827" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:38 -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 v4 07/19] selftests/resctrl: Refactor remount_resctrl(bool mum_resctrlfs) to mount_resctrl() Date: Thu, 13 Jul 2023 16:19:20 +0300 Message-Id: <20230713131932.133258-8-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312323637367974 X-GMAIL-MSGID: 1771312323637367974 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 a421d045de08..3f26d2279f75 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 Thu Jul 13 13:19:21 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: 119905 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1832157vqm; Thu, 13 Jul 2023 06:39:58 -0700 (PDT) X-Google-Smtp-Source: APBJJlHnqJbxCWedlX/CLapK+zN5BAiZTvVLytycUqCBQvpcpD4ZdmWufv5ND5qrU8mT+lk6eLL0 X-Received: by 2002:a05:6a20:395:b0:12f:dc60:4817 with SMTP id 21-20020a056a20039500b0012fdc604817mr796207pzt.47.1689255598502; Thu, 13 Jul 2023 06:39:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255598; cv=none; d=google.com; s=arc-20160816; b=JsMF33z2hWzpcKH887i6LdMTdcayUa2LB0cN9tUDWQukDHJ4IU/ECx8wAOPu4s4nHg IKZ3kkS5WGj2Ih/7VHSW8+hGXNY4EC02LNmRPiySCR0iPEAFRFnmXf04d0L9vDqR/Mwe YvKdr/GDRJ10pVbCastRktQbPCN6mO9+sNTC5YSMFg7CijQ6nZ4AOMSzNa1HNRNqhPwW GYZTgwz1hMYQgTpaM+HzFjbBLVnhwUuXkEZ13XpGx73LQpFBmqnSoFy2L75ZPlVxvku1 4wHRkn52ebwyw28tewru8DZudyTYJuL8ggj278GuEEZAiqkJwK+66FJyjftopV5YFUvh JGcQ== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=mfF4RkXQPZUqSEpG7fVAxJppr3SNRwrFNi3Ii+BMbVAbtU/Q3aOxHJfaFvJpmDwBgS h3S6lUotl/J1VBPgJvKlxkuxxztgkOozTIhCr0dP6o2ObRM0+h5cFXOSQ5VKeGd8sDcs xRhFIYo15DvY3DX/j4FNUsj8hAsHBl/N4Jde5sCEPAyyZ3Xx3SxIVPyrnbdKlZ8thNGk tum8IhaT3GgZ18UL3iaeXWN2wDJYXYn5amuPePFWF9RFB9o5rjlopn+ZpT8yNtojFfnf 8286xoDZcTPtrIHgeET2FBNIrvlOwyt75RMwUoV2pBPRWW/qPQuFIoi21e3bC4tcbnAN nKTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="RqU7pA/e"; 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 j71-20020a63804a000000b005579d6bdf85si5070156pgd.882.2023.07.13.06.39.45; Thu, 13 Jul 2023 06:39:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="RqU7pA/e"; 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 S235203AbjGMNV1 (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51116 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234797AbjGMNUy (ORCPT ); Thu, 13 Jul 2023 09:20:54 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60EC72D65; Thu, 13 Jul 2023 06:20: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=1689254447; x=1720790447; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1njCDh4AQc1HNVmmNcrVGlu3E0csxRiOqUiCj2TLy5Q=; b=RqU7pA/eNP3z3WQscjbmLFacK8ckMLAq+xC9bqS/H70pjJs+YmLUrWtj AI/HGutXlkseJTDhyKs5nc+/quonKZeDO+W3OvqQluIt2r3onarLxpM/b bxGUNoxotFujBqpcDceupO5Q/vmuXapqN0tOG8fo+2UH177EssfwjO9/H hIf1U3h5Gj19CMeYC5II3kXoAvupiIruTqwUC5BKS++NupXB3vXNdSCjU sblWzVrhJTWMePf3EmTRWYS9h8CbPQPRDS3yoiDr1VV2Z0K3F+BFOgF2W aTxs4i6VOFJFPw8YweLUwz45OcxPE5OErEU10PoMLNmm/gNE+Uot1pqZE g==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496714" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496714" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615837" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615837" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:42 -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 v4 08/19] selftests/resctrl: Remove mum_resctrlfs from struct resctrl_val_param Date: Thu, 13 Jul 2023 16:19:21 +0300 Message-Id: <20230713131932.133258-9-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312878384813960 X-GMAIL-MSGID: 1771312878384813960 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 Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cat_test.c | 1 - tools/testing/selftests/resctrl/cmt_test.c | 1 - tools/testing/selftests/resctrl/mba_test.c | 1 - tools/testing/selftests/resctrl/mbm_test.c | 1 - tools/testing/selftests/resctrl/resctrl.h | 2 -- 5 files changed, 6 deletions(-) diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index e1c071dec1b0..480db0dc4e0e 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -140,7 +140,6 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) struct resctrl_val_param param = { .resctrl_val = CAT_STR, .cpu_no = cpu_no, - .mum_resctrlfs = false, .setup = cat_setup, }; diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index 426d11189a99..d31e28416bb7 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -113,7 +113,6 @@ int cmt_resctrl_val(int cpu_no, int n, char **benchmark_cmd) .ctrlgrp = "c1", .mongrp = "m1", .cpu_no = cpu_no, - .mum_resctrlfs = false, .filename = RESULT_FILE_NAME, .mask = ~(long_mask << n) & long_mask, .span = cache_size * n / count_of_bits, diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c index cde3781a9ab0..3d53c6c9b9ce 100644 --- a/tools/testing/selftests/resctrl/mba_test.c +++ b/tools/testing/selftests/resctrl/mba_test.c @@ -154,7 +154,6 @@ int mba_schemata_change(int cpu_no, char *bw_report, char **benchmark_cmd) .ctrlgrp = "c1", .mongrp = "m1", .cpu_no = cpu_no, - .mum_resctrlfs = true, .filename = RESULT_FILE_NAME, .bw_report = bw_report, .setup = mba_setup diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index 538d35a6485a..24326cb7bc21 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -123,7 +123,6 @@ int mbm_bw_change(int span, int cpu_no, char *bw_report, char **benchmark_cmd) .mongrp = "m1", .span = span, .cpu_no = cpu_no, - .mum_resctrlfs = true, .filename = RESULT_FILE_NAME, .bw_report = bw_report, .setup = mbm_setup diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index 23af3fb73cb4..99678d688a80 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -54,7 +54,6 @@ * @mongrp: Name of the monitor group (mon grp) * @cpu_no: CPU number to which the benchmark would be binded * @span: Memory bytes accessed in each benchmark iteration - * @mum_resctrlfs: Should the resctrl FS be remounted? * @filename: Name of file to which the o/p should be written * @bw_report: Bandwidth report type (reads vs writes) * @setup: Call back function to setup test environment @@ -65,7 +64,6 @@ struct resctrl_val_param { char mongrp[64]; int cpu_no; unsigned long span; - bool mum_resctrlfs; char filename[64]; char *bw_report; unsigned long mask; From patchwork Thu Jul 13 13:19:22 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: 119903 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1830668vqm; Thu, 13 Jul 2023 06:37:22 -0700 (PDT) X-Google-Smtp-Source: APBJJlEZeJY0Pf+YRbI5vVSHecJnlwUkmv5oZcgPNwjzINC/FsbBLFkUXTLP1e7AF7hFV1UrIvez X-Received: by 2002:a92:c94f:0:b0:346:49bd:7b6c with SMTP id i15-20020a92c94f000000b0034649bd7b6cmr1333107ilq.22.1689255442460; Thu, 13 Jul 2023 06:37:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255442; cv=none; d=google.com; s=arc-20160816; b=KZIVfdjOqIBX2ctHdYvT44c+pxQnne6Y+E6mQyVQA3hLr1J794EgkdZZ9ZV0M22ci8 fbBikT9uq9E6MqjO92IebwazT9AbgmhuRWimQTIVOpdAXAIqAOXUZe4WPI+tD+UliBSv nMTK0+Zg38yUf0RoObHKG2YiRdJzIRpYosE73qTw4Qm8LUqQ0nTkNLSAuaSigo+kG/US X0rZk5byXZA/HTjQ8aRkSd1V+L2MTpLBkCv0WvvZLzqRbLpv6pvzV8Mj/SAYAdUD+oXt DiwMlb6gHbzWkMOsFTytZtqI5ygkImBBvotb2f9vD3BSg7cesbu95YspfQgnq/qzM0ra i7rA== 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=DAvsD+qaO3A9FtPdhSuc20sxW86+q3XkmGGBDt99ww0=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=pXNh0tBHWYKJSdjovKq67tY4AouzfDYYoJoy4u3GIIi9dVtfNKYS3KNrCbSs3NRcfI vXijY3u1PG9knS841j1JCZD/nxQeQDUU/WYw3UJ+IQU+0BhQHwTZABuDOSkAqhQW97fb oPjf254i2+ZQFaOf+3RH7PdItbjjjG5jaJkgcPafMNGjtNV+pdZertPM/MU7GLttkmy+ lV/REr2nvpdC0JguyzlBM21q6wA+wy9i3kIbCYeorfA0842eiKnkbGnEA6uF5404s2LT ahyWAjGeMuwtrlmEzLfxsic5FMjD2WyqUXanXkE/j9CsZr7hfw4/2uklipZ3k3Fd5uvS jN2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WDh7NYCJ; 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 h8-20020a632108000000b0055070c6da5bsi4913793pgh.670.2023.07.13.06.37.08; Thu, 13 Jul 2023 06:37:22 -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=WDh7NYCJ; 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 S233390AbjGMNVd (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52042 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234827AbjGMNVB (ORCPT ); Thu, 13 Jul 2023 09:21:01 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 26BF72D78; Thu, 13 Jul 2023 06:20:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254449; x=1720790449; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BcZjX/SIsP1+j3QddjGF0vdJ105WHXlg8OCe+/JJGQ4=; b=WDh7NYCJu6l1utBp1ITiw0ITIWyWbgTDhf0y4FqR4vqjgOCMQmuWJb0l m734ufadY/bW8jHmJUJ2FG1AUcqRxiWyvhJQ6DKWD6h/Z0z7RAXeEp5va 2zwd8+SnboXQiWelhdj4eHWeD53HDgG5P0aadQ/8X3pTgRPird6qLgfqx P/oMyvtWVqNlvGb6ud3YhcmXx5kxWMZSnw/84gNOh5R/dNjevG5Nlxiqp DT/FVDfiX4ooFTwlrtmCdvXm9vwWh0ptuGsTbxQMOmbkJYFp3eoZKeipg 4R007S9b6Aqhruc1be7MsPUt+4pKDHIrPkpxgMXbRaYP6uHUh+ciQqu2s w==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496729" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496729" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615849" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615849" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20: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 v4 09/19] selftests/resctrl: Convert span to size_t Date: Thu, 13 Jul 2023 16:19:22 +0300 Message-Id: <20230713131932.133258-10-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312714773527816 X-GMAIL-MSGID: 1771312714773527816 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 3f26d2279f75..6b2ca1b4744f 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -70,7 +70,7 @@ void tests_cleanup(void) cat_test_cleanup(); } -static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, +static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, int cpu_no, char *bw_report) { int res; @@ -99,7 +99,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, umount_resctrlfs(); } -static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, +static void run_mba_test(bool has_ben, char **benchmark_cmd, size_t span, int cpu_no, char *bw_report) { int res; @@ -118,7 +118,7 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, } if (!has_ben) - sprintf(benchmark_cmd[1], "%d", span); + sprintf(benchmark_cmd[1], "%zu", span); res = mba_schemata_change(cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBA: schemata change\n"); @@ -181,11 +181,12 @@ static void run_cat_test(int cpu_no, int no_of_bits) int main(int argc, char **argv) { bool has_ben = false, mbm_test = true, mba_test = true, cmt_test = true; - int c, cpu_no = 1, span = 250, argc_new = argc, i, no_of_bits = 0; char *benchmark_cmd[BENCHMARK_ARGS], bw_report[64], bm_type[64]; char benchmark_cmd_area[BENCHMARK_ARGS][BENCHMARK_ARG_SIZE]; + int c, cpu_no = 1, argc_new = argc, i, no_of_bits = 0; int ben_ind, ben_count, tests = 0; bool cat_test = true; + size_t span = 250; for (i = 0; i < argc; i++) { if (strcmp(argv[i], "-b") == 0) { @@ -273,7 +274,7 @@ int main(int argc, char **argv) benchmark_cmd[i] = benchmark_cmd_area[i]; strcpy(benchmark_cmd[0], "fill_buf"); - sprintf(benchmark_cmd[1], "%d", span); + sprintf(benchmark_cmd[1], "%zu", span); strcpy(benchmark_cmd[2], "1"); strcpy(benchmark_cmd[3], "1"); strcpy(benchmark_cmd[4], "0"); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 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 Thu Jul 13 13:19:23 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: 119907 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1832399vqm; Thu, 13 Jul 2023 06:40:25 -0700 (PDT) X-Google-Smtp-Source: APBJJlHjlnNGzNvK1MW8/PE+UqDtmNqRNa/exahtRiwpkEXu1LihY6D1v0JpqhZxJN0Zef652kuR X-Received: by 2002:a05:6402:335:b0:51e:288d:2a27 with SMTP id q21-20020a056402033500b0051e288d2a27mr1976684edw.11.1689255624822; Thu, 13 Jul 2023 06:40:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255624; cv=none; d=google.com; s=arc-20160816; b=N3RIIUhOzJ1Uf+ovTS8gKy6ebD/Ree3xcY0UrHNJT57l6tp+MdDiFmP3tvWE5Xa4gj KDwz9qYgyAZ4vNLZhVl+u2W1NPP6R51nISODikJDYRnWGLi9CUJmgtc4Bmfan4ZftAwZ q1RsU+IxiTXq8UV4Sq6GYcdWjYcln9N006x5Xwa8hC8iEcTm2yxRGuN7R9pGkO9qxHgP hItmLN2w3P2BXu6IZmPOokIcNq4/Dnx5kru7qwMVRXZzKgGDXoer9/eI6BFMMswU6ESs enBzXD8XOQ+0BGqjvkxnoLPiotpdo2xB/aEhYscGow/T+gpAfi5nIG/zt0Nvo43JGPai ZFFA== 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=i/5luPuweSVMtU4S24E0kGYCGaVM66ojrWX39iTjvF8=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=R3BDDdj8bXZI+QZk6R4nFH9WJCwOnMG2lRJb0Z0INR7/6VNKZJx+EP+Gi/aqA8X3aS ZgUxW0e3ZgXUbqZK3lL4deg/QjTS/fD1ePeSIQZetZ5QQMcQwKBQXrPZ4qUH8e0dfKaM WbcgFQY7liuDr6w2nnNsUNZXbKn7buVVoOlMIyw3lsyJA//vX0wc074q37P6SLx1VzLf 90DyB0/jF3MgsuOnVyP/UfR1/ojTqTY9wjn8ujGLLaTpywBnO6byYiRS6yb68+Ym9xRe NpA9tF7Af91O+HvjNrJHelJgz0V4swIvODe8ihgOX25omDYkVw+wU5SKQPlDg2PK2KR5 mSHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Pqlk6al1; 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 g14-20020aa7c58e000000b00516333867fcsi7348349edq.593.2023.07.13.06.40.00; Thu, 13 Jul 2023 06:40: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=Pqlk6al1; 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 S235029AbjGMNVt (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54526 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234894AbjGMNVS (ORCPT ); Thu, 13 Jul 2023 09:21:18 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD5B13588; Thu, 13 Jul 2023 06:20:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254454; x=1720790454; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1Z6XtgfnkLNnOa77rczS1AMCmK7GDgGUepg6zaFzaNk=; b=Pqlk6al1iqtG4Ow/6f9hOBV8Dac7GyFkXb785AiKPKzmmgL07vEuoBmv 1ffLIonQCyrE2NqBeUd0QSuGeuSsKfrDxfFrBvyJ1GkNcPYgrhfjjpW93 WHvMZslJ0wYS+Jk2/8/fWls/rFWCNxuW509WcpBy8/OMewXMhJZ1BCuy6 TXU+chg3ZO5PuracCywOYNWO5lT8UJiyxfcJ/E2GIDCBvuRvevZ6L3nI8 W6wYAHcAoJHUqZGOaceua0J3OHPSwV+bghphzYg1SZ5gG6+MNVk9sRG22 oh53BjuNF1FnGLz8RlfS986wQRkFLsDhD0JdRg4QRnkDR/OIWT8A16c9O A==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496756" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496756" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615862" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615862" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:49 -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 v4 10/19] selftests/resctrl: Express span internally in bytes Date: Thu, 13 Jul 2023 16:19:23 +0300 Message-Id: <20230713131932.133258-11-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312906426681289 X-GMAIL-MSGID: 1771312906426681289 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 6b2ca1b4744f..5205a13ed250 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 Thu Jul 13 13:19:24 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: 119901 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1829945vqm; Thu, 13 Jul 2023 06:36:04 -0700 (PDT) X-Google-Smtp-Source: APBJJlF5peArebHXlvr6HrHH/g/TOQshJ23xLwI0Bvk3ruMAwntPsU4Cunbt3r3ODWzNUNZcJSND X-Received: by 2002:a05:6a20:154:b0:125:699a:5998 with SMTP id 20-20020a056a20015400b00125699a5998mr1026885pzs.54.1689255363994; Thu, 13 Jul 2023 06:36:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255363; cv=none; d=google.com; s=arc-20160816; b=Fu+lJWM+Hob7Z5WdyaCSAtzc1qiKyyMeffes4XYp5buX0F1V0LtWxjj01U6cwdk0Fu d/SCGegyMq9E+N/Q/2HaXWHOW2gaxeQuHZP5PGiWCJTdCqIlTDGFqVhOtGB/75JHoER3 R0F7lBk1A5KX3PZ9RBquksIhDVhPYtH3j2NzhcB1zosB5fgZQVJTkYQlazUgd6ZCD4// fb5yjh8AE5NnWAvFY3/8cnaP6ZaP0hwPhuDwW5nZtX+XyvQUg2N82HmmMhoCJgTN5RC8 9mq/94wPnkXhewTFMSu5bVlzT2pfppwUFAMsfXCgapmwhEMM7D/y5Ma6OpBHqKEuzvaf UgvQ== 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=DMID/qBOCkmNw/JRDrZa8Ol4ErJagg09Wtvylivr69Q=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=vjirqJfIriI1qaS1slNuFHnHx4Johm1weoxaumrEFO+/8MnxcIOnM2jHczFwPymvVc SovrL1miokuKr2BaVbN1Pr6F/pIZqx7+G8yZlwiV1iSWHV+kx1fXMgUNqYN/ZpTuvuZu Z0ITSIKz9SCbKjgzLa8Ke+f/Qvlw91uFK7ecC7BWRNAbh5pFLdWCs+Z3EJYT34kwvdep RrnWMwdVjUvVL1UcvGIFDHPlxKl9GOBUza6aDPVvSbMuK9ZK/3twiNq00csIbxJNkSsV 6eMCtatqEXrRVk8IHtf+6jS51guQMvnG0NMGF3aP8DmasOHQw2zEPF+p0lyYgReSRexc ojvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=iyBG81yl; 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 m16-20020a63fd50000000b005578a320ea8si5173678pgj.867.2023.07.13.06.35.51; Thu, 13 Jul 2023 06:36: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=iyBG81yl; 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 S235129AbjGMNVw (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235198AbjGMNVU (ORCPT ); Thu, 13 Jul 2023 09:21:20 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03F20359F; Thu, 13 Jul 2023 06:20:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254458; x=1720790458; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BklG/eCoHhbYFvki+htdCl8nS8+nMI8Vo6bNJZ2Xh8o=; b=iyBG81ylZduZNI/CzGdFf+gibXqcZt1sd9N9zQURB9AD3bzJxanp3gVt T7ziILS64/7N8wznblYpU6fYzloCeIJeALaZDiQaD5tx/AjY1KmaVCTho VGRQc4TVd32wRnSAjIh0mhI2zoNosXz7xACivTIhPHdkRpMofIF9j9/8L CEQBG0KUfrwzdM1wqfu52T6vrC/T2Ql/fDBD5qFyCFEFP704cYhWU6627 dxnGsNmfszI4R+vr1ls7ALS07h2J7grCzW3p/KXMdOgmFqNUez+MOIX/W T5/AFOXYgLaiBZq4WmDKllfLiv9Bl/OAUd3hCyju59Or3SnklTz4oYSh1 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496801" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496801" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615874" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615874" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:52 -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 v4 11/19] selftests/resctrl: Remove duplicated preparation for span arg Date: Thu, 13 Jul 2023 16:19:24 +0300 Message-Id: <20230713131932.133258-12-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312632527163728 X-GMAIL-MSGID: 1771312632527163728 When no benchmark_cmd is given, benchmark_cmd[1] is set to span in main(). There's no need to do it again in run_mba_test(). Remove the duplicated preparation for span argument into benchmark_cmd[1] from run_mba_test(). After this, the has_ben and span arguments to run_mba_test() can be removed. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/resctrl_tests.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 5205a13ed250..6e693f381a6e 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 Thu Jul 13 13:19:25 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: 119911 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1834118vqm; Thu, 13 Jul 2023 06:43:39 -0700 (PDT) X-Google-Smtp-Source: APBJJlEy48ykiSgr4oEqbrv7zMNKJhgrKz0mOaZ5r9C2lEYu3845f+B0Wk+ElwJK8m3ATZH/UD29 X-Received: by 2002:a17:90a:5916:b0:263:e122:a692 with SMTP id k22-20020a17090a591600b00263e122a692mr1073803pji.49.1689255819236; Thu, 13 Jul 2023 06:43:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255819; cv=none; d=google.com; s=arc-20160816; b=IGMgemwrJhLWreQmnOJgoJsWrCruhfQ4kDkvWjmdeEYlgho5nSSYVfXY21eRODm2w6 Wx4f7d2+LphLh8XDdrp2w71By1QS8uDrBLkCFfw/Gp5cTyW8IuiAq770vB6fkhnTfUnr P6+NN6MNdy9fBLqFav/kC2LqN+pCXnxuFw0hAnyywCcqPkYEOLrXy4jTWl6t6De/vv6d D555/KEQSjY5AOD+UIps9Vszt/S7PapJRQgFd790q5HCjpH3Z7ezSOyB7EEPR7md3JjJ 5nW78GUeOSEDOSkyurDiAmZWyxRjrUB3AEZbftUoiM7hB0FQOua2nDwVzeldYm2iAvZe w2Og== 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=vs+2QfzuQ7lVJwodi5UXRyx66vUVgtkSBA3ZRRPrIp0=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=Z0TX3j1zEJ+wOkhi0teQsI48kNbOUNl+wqAKksEAArVwNwa8vzDcC7lGYMAzW+Aj/y FE8l1gz5vTmy3Lol685Z603FUQoPyHRRQ3f1X9Xh9UQ+WqyqZclEDD2h9DgCwV57+E8P hEJcjpX28ACzd6IhDYP+O8cY61wScDd2DSRv0u4lH6SY5vnR8c4RSM11yfccU9RBsCez cj2HJe+/sYB1rJdA0RIFgs57ARWZDLdbLvLwGXRDPWhm4YcHg/JV+rn3miApO/RbDr6Q Y+RWVXGrRPfAt6LPEay2cA7t7diAf/3QCuu0LoZShfkleObrBNfrQlUw2gaehOqbGkA3 0WVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="KpIZ/UCs"; 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 me12-20020a17090b17cc00b002533ea2ad58si13622074pjb.140.2023.07.13.06.43.25; Thu, 13 Jul 2023 06:43: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="KpIZ/UCs"; 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 S235209AbjGMNV4 (ORCPT + 99 others); Thu, 13 Jul 2023 09:21:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234839AbjGMNV1 (ORCPT ); Thu, 13 Jul 2023 09:21:27 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27A8035AD; Thu, 13 Jul 2023 06:21:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254461; x=1720790461; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/q4GY8rhp2G88sSlAlKWw7Agjaw1iIMrjHxhCLVPXWA=; b=KpIZ/UCsakfhSsNc9tsIzcG7EqNc3GxmknsexERIFtoA2J+BPh7UkyU1 0VFLwOse8jAM9P68ieTkhDHqKIy8666/95vPSJbeTbqf5iwDbI7NGpjAf IbbGnT3btdFkTpEI0Z127roONC5dT/SeoIeWDvvPtPMc6kLItB4TdJdJg MZoY0SLtrRQQO5CitzTeciTwPwQUJkm+JIxuoba13Oth8Ao3CV+JW9GPh SpprhK2fgiNNBLKm/NK16cjHz+Dl3mw+ONJ9zr3X9M9v0AYxl5xHQqdtc 23joolTZKl9HU6PLtX1bN1eo1F7lASKENE6Jjr95k7zUxTxvMbVvbsHPQ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496837" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496837" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615885" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615885" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:55 -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 v4 12/19] selftests/resctrl: Remove "malloc_and_init_memory" param from run_fill_buf() Date: Thu, 13 Jul 2023 16:19:25 +0300 Message-Id: <20230713131932.133258-13-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771313109579043365 X-GMAIL-MSGID: 1771313109579043365 run_fill_buf()'s malloc_and_init_memory parameter is always 1. There's also duplicated memory init code for malloc_and_init_memory == 0 case in fill_buf() which is unused. Remove the malloc_and_init_memory parameter and the duplicated mem init code. While at it, fix also a typo in run_fill_buf() prototype's argument. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 6 ++-- tools/testing/selftests/resctrl/fill_buf.c | 28 +++---------------- tools/testing/selftests/resctrl/resctrl.h | 3 +- .../testing/selftests/resctrl/resctrl_tests.c | 13 ++++----- tools/testing/selftests/resctrl/resctrlfs.c | 12 ++++---- 5 files changed, 19 insertions(+), 43 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 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 6e693f381a6e..0c313054326d 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -89,7 +89,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, } if (!has_ben) - sprintf(benchmark_cmd[5], "%s", MBA_STR); + sprintf(benchmark_cmd[4], "%s", MBA_STR); res = mbm_bw_change(span, cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBM: bw change\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -141,7 +141,7 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) } if (!has_ben) - sprintf(benchmark_cmd[5], "%s", CMT_STR); + sprintf(benchmark_cmd[4], "%s", CMT_STR); res = cmt_resctrl_val(cpu_no, 5, benchmark_cmd); ksft_test_result(!res, "CMT: test\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -267,16 +267,15 @@ int main(int argc, char **argv) benchmark_cmd[ben_count] = NULL; } else { /* If no benchmark is given by "-b" argument, use fill_buf. */ - for (i = 0; i < 6; i++) + for (i = 0; i < 5; i++) benchmark_cmd[i] = benchmark_cmd_area[i]; strcpy(benchmark_cmd[0], "fill_buf"); sprintf(benchmark_cmd[1], "%zu", span); strcpy(benchmark_cmd[2], "1"); - strcpy(benchmark_cmd[3], "1"); - strcpy(benchmark_cmd[4], "0"); - strcpy(benchmark_cmd[5], ""); - benchmark_cmd[6] = NULL; + strcpy(benchmark_cmd[3], "0"); + strcpy(benchmark_cmd[4], ""); + benchmark_cmd[5] = NULL; } sprintf(bw_report, "reads"); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 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 Thu Jul 13 13:19:26 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: 119897 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1827600vqm; Thu, 13 Jul 2023 06:32:26 -0700 (PDT) X-Google-Smtp-Source: APBJJlEQr40vTZ6Ku4yFb9HemxRseEYOP8jgxQA8Tv4jOWMuD1RMWYsvCQD+/Ap/un+ut/2i7ETx X-Received: by 2002:a05:6a21:7802:b0:132:424c:2c53 with SMTP id be2-20020a056a21780200b00132424c2c53mr1435617pzc.42.1689255145697; Thu, 13 Jul 2023 06:32:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255145; cv=none; d=google.com; s=arc-20160816; b=V7+Rhj0jQ8PWr1nE5BAhCcNHEvorkmVduyYdwZzPJSR6nT/VZcbamOhYjO7xMqpk70 53GcdqyMad4sG4z9yT2NDt2vS/aIfjTgys501plyl9A1i0QjKJ5xbngIgGeR1+yevCZr +VnZe44ZyQdK4nIsdLQtZODgs2DeJ/dmczK832yjqNwBeJWayn/ueimuRC2nrDRnTYcO MyZI/Ayy3rVchxSa9JuKkq+56htYuP1dWQz3E2YPTzipANM7JsG38QzdsW0oYb4sppvB w/XBMPZjZ3RSLSD+SttWkgPbi6+EdeGkLYd9l6QCd+te4ia0LkTFQbaMeJrHboanpZ9o gx9g== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=epPLBkwZqWYjzTFRLB8N6vBKT2mF54BNyy7x7B1gtJG/hFneLnvZGrRBz7dEeGii58 oINZ0IupTHx02202nFEN2EyJ/DBt8a1e72PA+eBIgrkg/ge3s2lY/DJDGhkyIqrQ1FLI C9jFtO5iPcxno410kBr/cakSlri8p7ZHBq5LbuMvEf+xj68tcQWtRSrhKYzqINXTCZ1l zu33xUm5uW/vmubNO9ID1UZ7/A8Il208+CceY42oiz+b/SMS2YM3shQVlPAGFH6UxTnd oXSt3quyDgYQ+lFIdHx60YcojMAJxuxpKjDKk0eeO9B0ArBdvipJfqNwX9KKuf7uXDeJ c2ug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=BnRdYpen; 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 185-20020a6300c2000000b0055c99390901si377089pga.703.2023.07.13.06.32.12; Thu, 13 Jul 2023 06:32:25 -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=BnRdYpen; 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 S235219AbjGMNWb (ORCPT + 99 others); Thu, 13 Jul 2023 09:22:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54570 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235230AbjGMNVs (ORCPT ); Thu, 13 Jul 2023 09:21:48 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C360A3A86; Thu, 13 Jul 2023 06:21:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254468; x=1720790468; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ReRBurQsGT7Fx6kcQMK28MT5AqfN9HI/hJmNwwtabwY=; b=BnRdYpen7PLkJ50BgpCdFPcY41nVfSdp014hYo7XYw/FB5hjSqCcq5k5 R393md294KEDhZ/w4sJJrODGYeth7RNBq8da2bIhr1LIv4msRFhz0Ogdj wYoWm9Yvv/lz1PS9XUg/Njn7UYSjQ+gwHgP6SrmexRx123lWF0FtXn4MK siq9TkiIJBfOjJp6EAucLcdNqc6FDU6/4EOSVX7EJJka8//I31OYVmL9i 8ZUE1Kzw5OPoWomn2UC3RVb6dEA1RZGMDYysHsIKAqNGouq1H/9C53FmW H1Jw0LlDCIiF8G2vNpLVul5U2UVF00kXzSs1ZwgiSRYrOgP1S9H+srt+W g==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496870" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496870" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615904" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615904" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:20:58 -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 v4 13/19] selftests/resctrl: Remove unnecessary startptr global from fill_buf Date: Thu, 13 Jul 2023 16:19:26 +0300 Message-Id: <20230713131932.133258-14-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312403573938331 X-GMAIL-MSGID: 1771312403573938331 fill_buf stores buffer pointer into global variable startptr that is only used in fill_cache(). Remove startptr as global variable, the local variable in fill_cache() is enough to keep the pointer. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/fill_buf.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index d8f5505eb9e6..a5ec9c82a960 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -22,8 +22,6 @@ #define PAGE_SIZE (4 * 1024) #define MB (1024 * 1024) -static unsigned char *startptr; - static void sb(void) { #if defined(__i386) || defined(__x86_64) @@ -147,7 +145,6 @@ static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) if (!start_ptr) return -1; - startptr = start_ptr; end_ptr = start_ptr + buf_size; /* Flush the memory before using to avoid "cache hot pages" effect */ @@ -159,7 +156,7 @@ static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) else ret = fill_cache_write(start_ptr, end_ptr, resctrl_val); - free(startptr); + free(start_ptr); if (ret) { printf("\n Error in fill cache read/write...\n"); From patchwork Thu Jul 13 13:19: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: 119909 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1833381vqm; Thu, 13 Jul 2023 06:42:16 -0700 (PDT) X-Google-Smtp-Source: APBJJlFz/fRU6tY9Hw2IwKht93sYHDWkCeN0MVGaPQzU3tx2FnJg+ydgdMl/FYZp1YgbpwjjAlfx X-Received: by 2002:a05:6a20:1611:b0:125:a12e:a918 with SMTP id l17-20020a056a20161100b00125a12ea918mr1150504pzj.8.1689255736099; Thu, 13 Jul 2023 06:42:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255736; cv=none; d=google.com; s=arc-20160816; b=JWBPKb44Vnl/DJjn3aOs50oQwpourLXXws0uXSwy+ewz9itx+5pQadzkfYxdO+9h5O 0daKHQHGIwR//mSc6ZKEIsZEGcn3JkbWNNArrPuG/cgGFIQHM5bPCR6iBnxeynt8SfqT /M/nUr3DaSfiqvDN5g0UkmRzJfM3hJ1DnLL/cZdYw4j6xZwBfoZAl8zl1YvRzBJIsyTp jOwnK1d2fdf7B93BC3eYcsTvIX2SewD+6pSZRTiK1MRH0TLIeV1iW6maLusVYp/3Qhew onNLa9Xx6Q4/I1IHvaACMhkPyh4QFTsUtrQwUGdcJbgmmc13dRTGITSa9FqWOQCrrFT5 wzLA== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=m9UF4aPseYG61h7nLwfl9L+chfRWJan2ZD2caL63TY0PDrlxGyYueFjBvpI/p5eDEA Pu/MarL0MLW8p7Q1EFHzcLArr7C0djIzZWC8o4kfUayWSm0oLg7DB5ZM2U/z+9mgp4E1 YIBIxqQTvmMofoTZ8+fPeHdPIbxUtQBqKodpHuaA9qKZMq1JK1I9LZs8oYD8zW7aA3fy 6M21ipzXTXg+N3VvdyjKrm9lKteVSChxCQbNlUN+rRG/5LqsGq9DU4DQxiMgSsrCgrLH nwJvETzbEzXrDV5OItt8QXKLeszAew8qTgPUMSdD/B2IUyRZZ5u8Nx6tIvzchrq2N3WP Yc9Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lu4H+LI3; 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 h193-20020a636cca000000b005428e832059si549519pgc.468.2023.07.13.06.42.02; Thu, 13 Jul 2023 06:42:16 -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=lu4H+LI3; 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 S235248AbjGMNWl (ORCPT + 99 others); Thu, 13 Jul 2023 09:22:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234601AbjGMNVx (ORCPT ); Thu, 13 Jul 2023 09:21:53 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1715D3A9E; Thu, 13 Jul 2023 06:21:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254473; x=1720790473; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Vd7tzwpfv1b8Vdm5xf009cWmFKxKtbsLKfgak3lNYlg=; b=lu4H+LI3fFyCfJzuuLZeE7LYvo8hDBOxV7xl1I1VyK4PFyTk0f1BTuNt ULOgrINoms2KH9g6jKTkaybwGmdWMb+rLZwtdQIWiXP6J9fdlAduMAHOU qhHTVVnvyQEQGZgW8sm+obFlx7MXtxy80pekV593P2XQxXkM4GRm+Eij6 +jK1W029R7f9YXTl1Ub5i0/D4SNGMKLmUYGG+JHH1bF84ZNIvgqUGmB9T 95nfvYirwW8lQU82Nd4gQPXdQUDKrTHFm5tMoWAGh/8hbRW6quimyuFqG /NjZX8/soyIdZ8PN4G2LaT63Xv2B2LFfeiLYWZVL/V3anx2Jj6YF+0Tqf Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496912" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496912" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615921" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615921" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:01 -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 v4 14/19] selftests/resctrl: Improve parameter consistency in fill_buf Date: Thu, 13 Jul 2023 16:19:27 +0300 Message-Id: <20230713131932.133258-15-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771313022890577344 X-GMAIL-MSGID: 1771313022890577344 fill_buf's arguments can be improved in multiple ways: - Multiple functions in fill_buf have start_ptr as one of their argument which is a bit long and the extra "start" is pretty obvious when it comes to pointers. - Some of the functions take end_ptr and others size_t to indicate the end of the buffer. - Some arguments meaning buffer size are called just 's' - mem_flush() takes void * but immediately converts it to char * Cleanup the parameters to make things simpler and more consistent: - Rename start_ptr to simply buf as it's shorter. - Replace end_ptr and s parameters with buf_size and only calculate end_ptr in the functions that truly use it. - Make mem_flush() parameters to follow the same convention as the other functions in fill_buf. - convert mem_flush() char * to unsigned char *. While at it, fix also a typo in a comment. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/fill_buf.c | 49 +++++++++++----------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c index a5ec9c82a960..5f16c4f5dfbf 100644 --- a/tools/testing/selftests/resctrl/fill_buf.c +++ b/tools/testing/selftests/resctrl/fill_buf.c @@ -38,32 +38,32 @@ static void cl_flush(void *p) #endif } -static void mem_flush(void *p, size_t s) +static void mem_flush(unsigned char *buf, size_t buf_size) { - char *cp = (char *)p; + unsigned char *cp = buf; size_t i = 0; - s = s / CL_SIZE; /* mem size in cache llines */ + buf_size = buf_size / CL_SIZE; /* mem size in cache lines */ - for (i = 0; i < s; i++) + for (i = 0; i < buf_size; i++) cl_flush(&cp[i * CL_SIZE]); sb(); } -static void *malloc_and_init_memory(size_t s) +static void *malloc_and_init_memory(size_t buf_size) { void *p = NULL; uint64_t *p64; size_t s64; int ret; - ret = posix_memalign(&p, PAGE_SIZE, s); + ret = posix_memalign(&p, PAGE_SIZE, buf_size); if (ret < 0) return NULL; p64 = (uint64_t *)p; - s64 = s / sizeof(uint64_t); + s64 = buf_size / sizeof(uint64_t); while (s64 > 0) { *p64 = (uint64_t)rand(); @@ -74,12 +74,13 @@ static void *malloc_and_init_memory(size_t s) return p; } -static int fill_one_span_read(unsigned char *start_ptr, unsigned char *end_ptr) +static int fill_one_span_read(unsigned char *buf, size_t buf_size) { + unsigned char *end_ptr = buf + buf_size; unsigned char sum, *p; sum = 0; - p = start_ptr; + p = buf; while (p < end_ptr) { sum += *p; p += (CL_SIZE / 2); @@ -88,26 +89,26 @@ static int fill_one_span_read(unsigned char *start_ptr, unsigned char *end_ptr) return sum; } -static -void fill_one_span_write(unsigned char *start_ptr, unsigned char *end_ptr) +static void fill_one_span_write(unsigned char *buf, size_t buf_size) { + unsigned char *end_ptr = buf + buf_size; unsigned char *p; - p = start_ptr; + p = buf; while (p < end_ptr) { *p = '1'; p += (CL_SIZE / 2); } } -static int fill_cache_read(unsigned char *start_ptr, unsigned char *end_ptr, +static int fill_cache_read(unsigned char *buf, size_t buf_size, char *resctrl_val) { int ret = 0; FILE *fp; while (1) { - ret = fill_one_span_read(start_ptr, end_ptr); + ret = fill_one_span_read(buf, buf_size); if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) break; } @@ -124,11 +125,11 @@ static int fill_cache_read(unsigned char *start_ptr, unsigned char *end_ptr, return 0; } -static int fill_cache_write(unsigned char *start_ptr, unsigned char *end_ptr, +static int fill_cache_write(unsigned char *buf, size_t buf_size, char *resctrl_val) { while (1) { - fill_one_span_write(start_ptr, end_ptr); + fill_one_span_write(buf, buf_size); if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) break; } @@ -138,25 +139,23 @@ static int fill_cache_write(unsigned char *start_ptr, unsigned char *end_ptr, static int fill_cache(size_t buf_size, int memflush, int op, char *resctrl_val) { - unsigned char *start_ptr, *end_ptr; + unsigned char *buf; int ret; - start_ptr = malloc_and_init_memory(buf_size); - if (!start_ptr) + buf = malloc_and_init_memory(buf_size); + if (!buf) return -1; - end_ptr = start_ptr + buf_size; - /* Flush the memory before using to avoid "cache hot pages" effect */ if (memflush) - mem_flush(start_ptr, buf_size); + mem_flush(buf, buf_size); if (op == 0) - ret = fill_cache_read(start_ptr, end_ptr, resctrl_val); + ret = fill_cache_read(buf, buf_size, resctrl_val); else - ret = fill_cache_write(start_ptr, end_ptr, resctrl_val); + ret = fill_cache_write(buf, buf_size, resctrl_val); - free(start_ptr); + free(buf); if (ret) { printf("\n Error in fill cache read/write...\n"); From patchwork Thu Jul 13 13:19: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: 119899 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1828927vqm; Thu, 13 Jul 2023 06:34:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlHh6/T1Rru5r4vE+vXlxfWvkaMpBc6T6odM4XenWJKMujp4ntxj+gIbPu56Fh6KHuuziN6f X-Received: by 2002:a05:6a20:12d0:b0:12e:caac:f252 with SMTP id v16-20020a056a2012d000b0012ecaacf252mr1244452pzg.1.1689255267298; Thu, 13 Jul 2023 06:34:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255267; cv=none; d=google.com; s=arc-20160816; b=Q9/nRMcSRrwUbcP2aJdiFC/bkR+aM8AwNJzAYW8kH9eORifTCqY9GqTBgNAcs03s4V aXpsbAlGx/98q5pt9xh3oMYfs51taOnpGTMzyR2mYtefa8kzFgP7ud6E8DRbDbma1Pia Lfx3i6C3tsbx9KPlyaWzJmvaSegxP5rvUKqhQb08mLczQuXCfm/0sYXNrNmdiwa7PB09 9chyL4xO0+SSfcubDRqjkC0flVcHouryf41+yJ9Voppr4+Vz39s2WRJQz7+yGAZt4LFb Zt3hy7bDXjl09j4YSaRtuoqjQk/2Hu1tvNCJQnXKvuM0s6GbKjfLqg5Uc4b/L/3sBd6G Kvtg== 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=yZc4qQ082m7mtaslSnD60hYZbIzaKXyimTEDci0Almg=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=qzu+z4G7nZH+ER0Qrfx56Uo2OQ+AXQpTx6qHkYRIFMP3kW9mHirNE2bd5D3M1mrXHY GDqcCZ/+JphBTx14rX/usOIsX872UTygqK5EPUNpMp3lK+el9fOMfjBGVTC/xDTEE0Mr fUGpPmYkZa3ne5qKQJTCVOsr+PZOF2eYDcSeHAsDtrxFbYZR1TmFI2ljDl83RZjH8D0p Kd7p1Fsv8OWwhwiRAyhrEM/WKnhKNsjA+M78U3Psf/RkNgPWnYv72zLXn8+c4huaAClg jcGTL0sPRrDuNaXEfu6xk+W5IkB8kJfmY4YuQYmqV1Z24ZgAtusETauNHdimy3vqULLu Dp6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Kw1kMGC5; 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 b20-20020a056a000cd400b00682d7cb12cesi5228307pfv.309.2023.07.13.06.34.14; Thu, 13 Jul 2023 06:34:27 -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=Kw1kMGC5; 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 S234513AbjGMNWn (ORCPT + 99 others); Thu, 13 Jul 2023 09:22:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235210AbjGMNWK (ORCPT ); Thu, 13 Jul 2023 09:22:10 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49824272C; Thu, 13 Jul 2023 06:21:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254477; x=1720790477; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=wdADjQU/9cliFIbF0i7uK4CSVj2G0FHJNT92Hg3EUpM=; b=Kw1kMGC51+VGksqgFN5AXgYzwogmYJRUIsFHAPCy7HfPlhCKxAwx9TZT kyUkOeDXosTATOsf1WHiMxC8C0AiFyrgXwH17GHJF751BV4KJgrNWIsi1 gczC8ieZzfRm0F9cpXKhxzk+Y5xM1XV8CNhGdldNTzIre1XgiT3g1hZJD ftLxIuOiK4GZXrELAx5MzqbJLlTe7CCWyZ2rf8YwIAIyFEfLZxjwnEiJN aiMQSK2dPuIlUxyaZ7qz/Xjbu6OSe8io64MmRaMQ6mXgB60sUDxwFD5lf PbSq5LVbdx5mzhvRVBbh7Tb7vC0tmJPpBaWy2MxgZe5jjbZ4lyt/+0BKh Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345496936" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345496936" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968615939" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968615939" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:05 -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 v4 15/19] selftests/resctrl: Don't pass test name to fill_buf Date: Thu, 13 Jul 2023 16:19:28 +0300 Message-Id: <20230713131932.133258-16-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312531170195219 X-GMAIL-MSGID: 1771312531170195219 Test name is passed to fill_buf functions so that they can loop around buffer only once. This is required for CAT test case. To loop around buffer only once, caller doesn't need to let fill_buf know which test case it is. Instead, pass a boolean argument 'once' which makes fill_buf more generic. As run_benchmark() no longer needs to pass the test name to run_fill_buf(), a few test running functions can be simplified to not write the test name into the default benchmark_cmd. The has_ben argument can also be removed now from those test running functions. Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 3 +-- tools/testing/selftests/resctrl/fill_buf.c | 20 +++++++++---------- tools/testing/selftests/resctrl/resctrl.h | 2 +- .../testing/selftests/resctrl/resctrl_tests.c | 14 +++++-------- tools/testing/selftests/resctrl/resctrlfs.c | 11 +++++++--- 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 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 0c313054326d..417698488595 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -70,7 +70,7 @@ void tests_cleanup(void) cat_test_cleanup(); } -static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, +static void run_mbm_test(char **benchmark_cmd, size_t span, int cpu_no, char *bw_report) { int res; @@ -88,8 +88,6 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, size_t span, goto umount; } - if (!has_ben) - sprintf(benchmark_cmd[4], "%s", MBA_STR); res = mbm_bw_change(span, cpu_no, bw_report, benchmark_cmd); ksft_test_result(!res, "MBM: bw change\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -123,7 +121,7 @@ static void run_mba_test(char **benchmark_cmd, int cpu_no, char *bw_report) umount_resctrlfs(); } -static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) +static void run_cmt_test(char **benchmark_cmd, int cpu_no) { int res; @@ -140,8 +138,6 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) goto umount; } - if (!has_ben) - sprintf(benchmark_cmd[4], "%s", CMT_STR); res = cmt_resctrl_val(cpu_no, 5, benchmark_cmd); ksft_test_result(!res, "CMT: test\n"); if ((get_vendor() == ARCH_INTEL) && res) @@ -274,7 +270,7 @@ int main(int argc, char **argv) sprintf(benchmark_cmd[1], "%zu", span); strcpy(benchmark_cmd[2], "1"); strcpy(benchmark_cmd[3], "0"); - strcpy(benchmark_cmd[4], ""); + strcpy(benchmark_cmd[4], "false"); benchmark_cmd[5] = NULL; } @@ -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 Thu Jul 13 13:19: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: 119896 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1827589vqm; Thu, 13 Jul 2023 06:32:25 -0700 (PDT) X-Google-Smtp-Source: APBJJlFBAfBteFiU2YPye/LqJ6JhRZ1cS4aQP3JDAYN/ll+M6nwqctkkgHmckD9SDMgiO15rtVRU X-Received: by 2002:a05:6a20:3cab:b0:130:835b:e260 with SMTP id b43-20020a056a203cab00b00130835be260mr1098566pzj.52.1689255144974; Thu, 13 Jul 2023 06:32:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689255144; cv=none; d=google.com; s=arc-20160816; b=OlqbAiym+KxU1Str9p9q/XL7sVQl8WusmBajlUvwbHGzzMMT4co/vzeiDW47V+gz2r ZUiRVKNnDwIwTzonYIkDqh0mHEznhMaNtdqbOvaR2KC8bh2l+9GMVW/FCi4J3eYedfrf jNU7B5HFu92xHjTXJTX5tDwvypNrqif7TXdnSE7fDyqSNAXuJQ5EMQhfvybCgf5ljo9V +lUXA554ALL7K06P44+3co1w+CWMziCDJlbfSYy5WOeESfhwRnZV5dhtxHrbFkM+biI3 D4QGBOdEKuSQfPRSsrdBe13UsefVkLQSXoi3iZ0hSfwLiowLXM052J9cpowZbWmavrHe 4KiQ== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=N8bHyFllUA9EpssCDuzrKiiOcCcW7CpE7bqe3mR7giJA53eO5JB044z3lnzHDWXaLG SUPjJxRg4FJnM2uZVvQ4CYygrxnjAiKNhHzFL0lfL+tv7vfKqfmxmJ3QbcD5gzgf+ntT ttsHgraWsOLf1msZjNZuUZ7VY3vf0gCXsETyUO/ol8fHn1n21+aYHEvOzevqpoRZTnOS 4FNLkedjBnZcrsuG35cNJekklTEUGrc+cB/hnEOsN+xFi+77LtLIvNwieN5AGEvkezZG PpSOK1qAlEDMwqED1Vw28UZ98YlZi6rJF6QsrC1zp9L1R8LLU4bOGR+v2EiDJFq2PkTe Y7pQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="X/T1HpIb"; 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 v20-20020a056a00149400b0067e5edde6eesi5258320pfu.302.2023.07.13.06.32.12; Thu, 13 Jul 2023 06:32: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="X/T1HpIb"; 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 S235026AbjGMNW5 (ORCPT + 99 others); Thu, 13 Jul 2023 09:22:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54680 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235254AbjGMNWd (ORCPT ); Thu, 13 Jul 2023 09:22:33 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3C2582D74; Thu, 13 Jul 2023 06:21:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254488; x=1720790488; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=adWz9KGhV5KjAo3m22fwN6bZ55XBth7V+DQufUxY6uk=; b=X/T1HpIb4m42c8hLpruGyBQlOc6ybA24WoZv3PfsQVAkhEK0TkYSYt1A Vua+FSTHGgiMDurg7Sv4myCuUxSIHlACO80xL5QFkSjuCTw6pmBYlJls5 gyh4YuECB+VecBeK/IifQBNb+f2XjD9r3ApJi9mA+3O6D8sVJBcTiSaON /AW8SAJ2GYdoank+5aR7A/nMSnh4Y8gtqBYC6B7fatwMfe9vewYjAG0dk w+eBok8FSgGA4rn4SPcN1spdObqgWrAXRcqGYtGtf3VsJWSVlw9E2dqqL AtpU7zye+NpywC6hjLCXQWXGGaziENPrW6sPVMsrmw0mXNc1S3DKeMU6F A==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345497027" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345497027" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968616029" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968616029" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21: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 v4 16/19] selftests/resctrl: Don't use variable argument list for ->setup() Date: Thu, 13 Jul 2023 16:19:29 +0300 Message-Id: <20230713131932.133258-17-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771312402870138472 X-GMAIL-MSGID: 1771312402870138472 struct resctrl_val_param has ->setup() function that accepts variable argument list. All test cases use only 1 argument as input and it's the struct resctrl_val_param pointer. Instead of variable argument list, directly pass struct resctrl_val_param pointer as the only parameter to ->setup(). Co-developed-by: Fenghua Yu Signed-off-by: Fenghua Yu Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 2 +- tools/testing/selftests/resctrl/cat_test.c | 8 +------- tools/testing/selftests/resctrl/cmt_test.c | 9 +-------- tools/testing/selftests/resctrl/mba_test.c | 8 +------- tools/testing/selftests/resctrl/mbm_test.c | 8 +------- tools/testing/selftests/resctrl/resctrl.h | 3 +-- tools/testing/selftests/resctrl/resctrl_val.c | 2 +- 7 files changed, 7 insertions(+), 33 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 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 Thu Jul 13 13:19: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: 119891 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1822716vqm; Thu, 13 Jul 2023 06:24:55 -0700 (PDT) X-Google-Smtp-Source: APBJJlFAjvL8uCQuq7B67vCq9zY1Gb/1zGoI3SvYQby3A5eCVbHEi/6vDXvRXHptPlsByA/Ujz3/ X-Received: by 2002:a05:6402:541:b0:516:81d3:2627 with SMTP id i1-20020a056402054100b0051681d32627mr2189525edx.0.1689254695278; Thu, 13 Jul 2023 06:24:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689254695; cv=none; d=google.com; s=arc-20160816; b=YjBq6PtL2NNRcuj5ittkgfXy3f4ictfbtjRQQdTEqb3qwGjDc5EbKJHd/mPD0jVBer h6MfArwAAUXDKXAIIrejXqkprqWrQKOKCnv9LymRfgAV349agvcw5/GYFpuvGKz0DVzJ 52UfStOjr91Gsg4DXU7V59diwTyrCyGGRCMGRFXJH96DALeeRf8FeGRXjtXabxk9gEX/ bc1OgSVSyOPmmhYoT2F92xi7cn1lmQNi/7UwfWl04FvAGiuvY29mJncGDvgS57tvMnis ELeErzt2ArGkF9YM2GSpFpwcw7t7LN4bj7mtvDrBFUFZo2vprKc4GuaMB0MgVHFb8HSw Kbiw== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=terUKby6SKQ3vq1BE0wy8TuPqxrdEf2h4bvm26N42kkv64ADmd6m7GtZdD0ga8t19X PriKB6SwUI9jAyTFOgdSxkQl3R/uvoBbMsLJTUG9SybHNwg1shAEVsnxRujG7SbFLVcE MY7Bh1DE5tl/atTMVGWO5R6r9P3j0KM9sHIKqMyt4CUKjDhqpOoSKHrb5psgaFAU3tGX wM5uc0xV/jhCZnPwLi9JIHY5Dn6Lsz4Cu74zli6fHCRqeNfNEL1e7WZYl7HaF4Cq0gh6 amHFn92rMhSdXFIRrWChO69ZtuN4VjzqqtY+HF+q2v8uklGGF553ZlHUfRY5viy6eM/i 4G0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RjQx52d8; 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 n21-20020aa7c455000000b0051e186a6faesi6872214edr.194.2023.07.13.06.24.31; Thu, 13 Jul 2023 06:24: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=RjQx52d8; 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 S234495AbjGMNXh (ORCPT + 99 others); Thu, 13 Jul 2023 09:23:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235175AbjGMNWk (ORCPT ); Thu, 13 Jul 2023 09:22:40 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5159135B3; Thu, 13 Jul 2023 06:21:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254495; x=1720790495; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WIWnJB3NculwQZQw1FR80Zi4TS+CrST66ZBC+3Ji4ag=; b=RjQx52d8MBtNjwsm2rVPb1ZzLvuPXKh5sU5MYo6Joa/IMN9T5fySe+vS cxeB3KNHRy/FQaF7Oah2CZCoIhhaTGCZgeJ8pGlmS/CDKmn211Ys7j0aZ F+5usqwe5fGitR4BNfGdMKg3W++9Kc3BPUxG7irHqTstQ04SLSdPS4uRh B+c7YJ0xs3zovwVO6PVDWc0aFdQEiVRgaFJLvWKLaILFtF1OM1CRJMLCL Vlehfgp7QU50Guk1rtzrcI6SyydZxIH2qXdm2rcjy3Y0hE8PSN5fnpR51 ytS5neMIlLj7hx5Sju2iRYRlLfkRMFf3LvBtHIiwblYSI9wr/amlieY5N A==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345497087" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345497087" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968616051" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968616051" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21: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 v4 17/19] selftests/resctrl: Move CAT/CMT test global vars to function they are used in Date: Thu, 13 Jul 2023 16:19:30 +0300 Message-Id: <20230713131932.133258-18-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771311931315651175 X-GMAIL-MSGID: 1771311931315651175 CAT and CMT tests have count_of_bits, long_mask, cbm_mask, and cache_size global variables that can be moved into the sole using function. Make the global variables local variables of the relevant function to scope them better. While at it, move cache_size initialization into the declaration line. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cat_test.c | 11 ++++------- tools/testing/selftests/resctrl/cmt_test.c | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index 42e35269d8b6..ed6c8e64ad11 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -17,11 +17,6 @@ #define MAX_DIFF_PERCENT 4 #define MAX_DIFF 1000000 -static int count_of_bits; -static char cbm_mask[256]; -static unsigned long long_mask; -static unsigned long cache_size; - /* * Change schemata. Write schemata to specified * con_mon grp, mon_grp in resctrl FS. @@ -96,10 +91,12 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) { unsigned long l_mask, l_mask_1; int ret, pipefd[2], sibling_cpu_no; + unsigned long cache_size = 0; + unsigned long long_mask; + char cbm_mask[256]; + int count_of_bits; char pipe_message; - cache_size = 0; - /* Get default cbm mask for L3/L2 cache */ ret = get_cbm_mask(cache_type, cbm_mask); if (ret) diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index 7214aefb55ed..0ac9d6bbd13d 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -16,11 +16,6 @@ #define MAX_DIFF 2000000 #define MAX_DIFF_PERCENT 15 -static int count_of_bits; -static char cbm_mask[256]; -static unsigned long long_mask; -static unsigned long cache_size; - static int cmt_setup(struct resctrl_val_param *p) { /* Run NUM_OF_RUNS times */ @@ -75,10 +70,12 @@ void cmt_test_cleanup(void) int cmt_resctrl_val(int cpu_no, int n, char **benchmark_cmd) { + unsigned long cache_size = 0; + unsigned long long_mask; + char cbm_mask[256]; + int count_of_bits; int ret; - cache_size = 0; - if (!validate_resctrl_feature_request(CMT_STR)) return -1; From patchwork Thu Jul 13 13:19: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: 119892 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1823045vqm; Thu, 13 Jul 2023 06:25:25 -0700 (PDT) X-Google-Smtp-Source: APBJJlFcwuwl/1oTwHj19GU5Ri+sPXTP5AVozACFpNXrVSaobQ8kkrb6yJCNkj6vPR3c4EEYmeX9 X-Received: by 2002:a17:906:9e1f:b0:977:ceab:3996 with SMTP id fp31-20020a1709069e1f00b00977ceab3996mr1316190ejc.76.1689254725697; Thu, 13 Jul 2023 06:25:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689254725; cv=none; d=google.com; s=arc-20160816; b=Mj8PFHbuUiTdpZWz3eTH+kSbMszoLyx0yXBIAXN+wYhhObhYclUsnR47PMfU+dh3oc W60no6wNQVwm+zrQarpAKOKgJtRkPDVHmwVR00rYaV4Uo5tonARBuC71CGw0PAms3GxP bd+/nKshz4g+TlDKZRE8kuZSUIa8KxyRRUhbhCOjWR1OrGHh8ZfOKyqsnbamAM0PwcET U3/X56xGfDSYRtNQ//0SrYOh2KBCjluLLvn/gEV/BvaA4gtQiRVaV1ZZhVmMOl+WVsUm bslQkV4z4fX8pQzGUP+abQ90ItvzvBkzlkCyFSiYz9xRH7lv8/UpKe+i3AnUtcTt+riB RGkA== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=otYpNdhLqcYO6FS+rxbuM8nd+5P1z73kv2jIjggJ/2i0kTml4gD2Cvwwj/gcsHVg8T fLn7qEzt0mVJQZzGuC4cJMI8tCpoYWuif2G++LeFYKiJ+q+tELZ70kPW5KQJ/JBwpvlA NH+itUdd6fet3YuoasDwv+RX6VK+irr/WJIPS+Cf3NIHvmTKwSsU17E2VrLmdqd4EYfq rbAQjQ251fRk21Yb6pEZegKWOKV9a66ebwoSHvoYv7TSUlhEU7i9UUroQNCN+EFZybKA /wByhFexeqIOij7japNl0XCgCNkqPZ+JG2d8sfR1qVQeORVnyU4I37X2CRojAMoBSK9J FGag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=AgXVSRmU; 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 s12-20020a170906060c00b009939765332dsi7100117ejb.329.2023.07.13.06.24.58; Thu, 13 Jul 2023 06:25:25 -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=AgXVSRmU; 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 S235089AbjGMNXj (ORCPT + 99 others); Thu, 13 Jul 2023 09:23:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235269AbjGMNWr (ORCPT ); Thu, 13 Jul 2023 09:22:47 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AAF1C3ABF; Thu, 13 Jul 2023 06:21: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=1689254500; x=1720790500; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tlqcBuGsxOSKA74bKjbrp+jQUh7f0hcz1UsL+nprPCM=; b=AgXVSRmU6wLzAsdt0IuhWfXR0zwIKmyYZUVnrRVrIcC9a9YrF1RoBYWU buP4ki8u0M3zBgEEt9Za3U4h7z3EJejkHTt97jXyy76X/a6uk35d3R+qa ar5qyzX87cMiugj0H/aEVezjgNLOsYRSCOBMh/qU1Ugvs5gtrX5QuZsAF 1bdODwE5QswBscO+ox+g3zXJlcjbFs8XXmey/bsfafXB7m/YnK79nEsdV K54XCLw/KiVCUbZLExqNEqhiU9u2v9EWbaAKhO6LrZPAHCWkSRKMzrzAE 7DAVnGzzWoK+ugpJKWjhIv8SWUpL9xR/zpJdDnxgPnoWp4fTavCfSjzMG w==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345497119" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345497119" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968616058" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968616058" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:15 -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 v4 18/19] selftests/resctrl: Pass the real number of tests to show_cache_info() Date: Thu, 13 Jul 2023 16:19:31 +0300 Message-Id: <20230713131932.133258-19-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771311963254268153 X-GMAIL-MSGID: 1771311963254268153 Results include warm-up test which is discarded before passing the sum to show_cache_info(). show_cache_info() handles this by subtracting one from the number of tests in divisor. It is a trappy construct to have sum and number of tests parameters to disagree like this. A more logical place for subtracting the skipped tests is where the sum is calculated so move it there. Pass the correct number of tests to show_cache_info() so it can be used directly as the divisor for calculating the average. Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 2 +- tools/testing/selftests/resctrl/cat_test.c | 2 +- tools/testing/selftests/resctrl/cmt_test.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/resctrl/cache.c b/tools/testing/selftests/resctrl/cache.c index 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 Thu Jul 13 13:19: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: 119893 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1823170vqm; Thu, 13 Jul 2023 06:25:37 -0700 (PDT) X-Google-Smtp-Source: APBJJlHIVwJR6P9ur2MfXnuPDQ7T6o+zAaEN1qGOdM274nadkh8hcVR/N7Tby/dSWs3Elxh0S7yz X-Received: by 2002:a17:906:2487:b0:992:9d41:875b with SMTP id e7-20020a170906248700b009929d41875bmr1280018ejb.32.1689254736889; Thu, 13 Jul 2023 06:25:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689254736; cv=none; d=google.com; s=arc-20160816; b=dzCw4tzxC4FvyEwe7d6Bi/EGAyDxytOYhP7f//lpBUHVTkv2+YmD9QAI/regtHjaaF adhYYPBevMkR/m+ZVFudnVVtx184zqo8B1i7dFMU6zpOX1VPgo27269Br7Yhw9o83E+5 VfUAPFY3qkg9KDOyBomYMUhUJDaOBKeDGERKpkRhChd4D1Mak5YIPmaIxeCZu90t/4tE wmAjNSKfOFnf7Fsq2iUaEXvyYV/U9RqtuqvgVRL4qUsXTZPR14j89AezBg8NPBPYIrwU SPi04MciTic4d9V7vjwMiCtDZziWdZvGanxoPE9YgEYTVLJZQltdarEX7PYno76LTLmC vVCg== 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=; fh=yQZVCT9uasVczKlazciVDh1mdZVasudsfBJLxIYHjUw=; b=nyV3jZwrRDz+3gh7h64y4KUe2srE76KVUTDjgO+Wc6jeJaMQhvG3ELEdPVpcbQTK7B 6cpPCXpRtg8YXKivHcgGQgskz4XW44+8HyM7gWDEb4ReXXjhsRB6fPhM7WOA1R7GkNCo KWM8xbLrcbMczB1TM7zUocVVkU3KMaBbMoVqugPqxu3QYkVfy0etQgTYsyGNLLuUwPWQ xjg7mBxeAeC/gGrif54WhUBxm1AftphzcTBEejRdm9IFnZs9kFd1wYzgBi11P8LWxrfP yTRRzKNrZPz6qFMlVCD9cBMvchkx2d1Vks/WxrJVLgDb5Q+5DveknaWO9eZ47+gMJUBf Wpyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QBCmt7QL; 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 g21-20020a170906595500b00992f309cfe7si7246040ejr.602.2023.07.13.06.25.12; Thu, 13 Jul 2023 06:25:36 -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=QBCmt7QL; 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 S235200AbjGMNXm (ORCPT + 99 others); Thu, 13 Jul 2023 09:23:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235253AbjGMNW4 (ORCPT ); Thu, 13 Jul 2023 09:22:56 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52E583591; Thu, 13 Jul 2023 06:21:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689254510; x=1720790510; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=B1zmj95tGIdII2SZaOFKFZ8yIm0cMc8pTOJH7ndgiGQ=; b=QBCmt7QLb72LpgCVMagKNsIVbWdfGAifz2X6QYBGO+B2CtiUP2/cTuy3 Ehm2bZx+k+1Y76R3YUghKlINaTX1F731XtCemeYDlYIjesEq8ZScfAwUd IgwS4ZPaS8xKX78ODrDDuf+dVBVRi9/FD9mJbJoMPj2sR61qV5cKJTBKz XxecS74cSzO1a7ATgJnL7a34M7cn/8a2UgT5v88jV9QMd+kOkEGDZVZKj w3fgQd2GcocFCROq8GjUVMnLox+yV9r9ndsCBFfDi3UnEFp5tCW8mEpox W9RTy6TONWki/kNiNZwQW3DHC97oW5oX7syb97EkiLnNC+RvygG0gosfh A==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="345497143" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="345497143" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="968616062" X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="968616062" Received: from ijarvine-mobl2.ger.corp.intel.com ([10.251.222.39]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 06:21:18 -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 v4 19/19] selftests/resctrl: Remove test type checks from cat_val() Date: Thu, 13 Jul 2023 16:19:32 +0300 Message-Id: <20230713131932.133258-20-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230713131932.133258-1-ilpo.jarvinen@linux.intel.com> References: <20230713131932.133258-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: INBOX X-GMAIL-THRID: 1771311974673340439 X-GMAIL-MSGID: 1771311974673340439 cat_val() is only used during CAT test but it checks for test type. Remove test type checks and the unused else branch from cat_val(). Signed-off-by: Ilpo Järvinen Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cache.c | 47 +++++++++++-------------- 1 file changed, 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;