From patchwork Fri Sep 29 11:20:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146619 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp4112983vqu; Fri, 29 Sep 2023 08:20:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF07/z4CP0kDeT92LrkaBm01+2CYXsN7RtfdYwzf0YuT4vsIptnM7Y5yeZ4Xmhbdku0fl9h X-Received: by 2002:a05:6358:2925:b0:143:5826:def3 with SMTP id y37-20020a056358292500b001435826def3mr4621051rwb.14.1696000857282; Fri, 29 Sep 2023 08:20:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696000857; cv=none; d=google.com; s=arc-20160816; b=D+8AU24e8C/I0hX+ioqS5RIPqH7tgf7HWd/HLfocNYBJEvbMHAHAEq5fyX7rn/RMwD PlYtrx/DM2OHovZgnGEP3Ofvj2zB8I2pLz+DutYxjqh1JItOLaenXR9Xl/kPSoUGVNIH q7XQlkjRaQN/tYOSKdF6z9MxWeQkEBARc9ZK8QPD0c+InfIG9z8G7jIjpID+akHvIgJc wtTKqObNyYcM9X1FQAqVTvimH1Bxr5Nyj1tqrXcxXE7L5Q1wUmU9MDSXHYWrYBcIwAim s8nsOb8u0EW89qN1Z7new343HdAUJcecNpayKJt75I0SLhah75zaG6/xbLgKOIcF4e3D 5gDA== 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=X4m8eAhUFlS/VcVA/Vjjt/2uuSKk2JNuWxVy/SBlLeE=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=IOocMRi6CReAb5tO7or2pYatryu8lcOuCq48X2KSoomCGEk80IcS6IXSRRiu//fJcA RTy60NMU/ys6pMarcU7AxPW66EDi/7qr9/T9x5fTXxI/pw02+yWDxpjvTIKor1It0YBW a+/+V2Zxf9dLnVsSA/s1DsAw52CyEg7VP3pY7GrjLnF0lnxoLrWKsPdG5tWFrNYO7FXm wwOLWxpTA+DKxkpo/BnphXa+G0d7v/jK+VCcrzvYZweuWS3+e0ky0a0vzs9xsHENA7ut 1FOpFdTqeSfjzbLmtOR+pqrw7ESWrabehZMvIROqc02JzhbBLDskxbOaiU0F7VwCnfzY BeGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Od+yffdl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 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 agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id b7-20020a056a000cc700b0068ff3a3c9d0si6657591pfv.91.2023.09.29.08.20.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 08:20:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Od+yffdl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 109CD80A3104; Fri, 29 Sep 2023 04:21:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232800AbjI2LVJ (ORCPT + 20 others); Fri, 29 Sep 2023 07:21:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232925AbjI2LVH (ORCPT ); Fri, 29 Sep 2023 07:21:07 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE1341AE; Fri, 29 Sep 2023 04:21:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695986465; x=1727522465; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=PVn56X56Wrx64QPNUKF/C+r8extw29MLooKw3ZIFeg0=; b=Od+yffdlyqFRakdps9yErecSDjHt6AufjgACn1gJUUEwphKgKygZkO0N RMcEhMhd8+a9siMbAwFqdIkJO4f5zRWYfLsyoR2Q2Q8EXbI7df5kLJCDp U3Jfyutf70QxN8MaCBCpUKyiZws+kCZ1ZwhQygZ3q0I6acFUiTXZUTzSp s9HepuSBR/bqvhIXrV8cgj1Sb4ifR40VehebM1+VjQHifffJSZTFa3VLR FWMwYzM99WIsUYkfMN1L+FBt1hjoEh46jcEcXL6Flt1xv7X5ndWXYIboq Qvz+/82DzUeduYauZJtDruLbekVkqBMQ0ofy30u1RO77x9I6PvzF8HyWP w==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="446435510" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="446435510" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="779243762" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="779243762" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:20:59 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 1/7] selftests/resctrl: Fix uninitialized .sa_flags Date: Fri, 29 Sep 2023 14:20:33 +0300 Message-Id: <20230929112039.7488-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:21:19 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778385795139526521 X-GMAIL-MSGID: 1778385795139526521 signal_handler_unregister() calls sigaction() with uninitializing sa_flags in the struct sigaction. Make sure sa_flags is always initialized in signal_handler_unregister() by initializing the struct sigaction when declaring it. Fixes: 73c55fa5ab55 (selftests/resctrl: Commonize the signal handler register/unregister for all tests) Suggested-by: Reinette Chatre Signed-off-by: Ilpo Järvinen Cc: --- tools/testing/selftests/resctrl/resctrl_val.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index 51963a6f2186..1e8b90077218 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -504,7 +504,7 @@ int signal_handler_register(void) */ void signal_handler_unregister(void) { - struct sigaction sigact; + struct sigaction sigact = {}; sigact.sa_handler = SIG_DFL; sigemptyset(&sigact.sa_mask); From patchwork Fri Sep 29 11:20:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146569 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp4049736vqu; Fri, 29 Sep 2023 06:59:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEb4YvgHyW/+pE2WR3rEPkaApLWqoIMBjPpquA+j4HbyJXpwE+1Jc4UQvmBM98hp65WwknZ X-Received: by 2002:a17:90b:1498:b0:26d:49a0:2071 with SMTP id js24-20020a17090b149800b0026d49a02071mr6747961pjb.13.1695995983287; Fri, 29 Sep 2023 06:59:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695995983; cv=none; d=google.com; s=arc-20160816; b=DdwgwAA882IA0TWsQrR3v4vnMozod7PHp7CNnpZO9S5YL5pi4KHLQ3J5iOo7HikIqS ZkRCWekEkcETJ8/VJeh8H9ZQbFA1OgVhI6Fsry0siNUnydGwPyPh2oFPDijv9tWu4sEb oiscXb/t7fGKViIfDEh328tHZABrMgD6HdT23eG/uJ7AY7TT5OCjzUFeCO0jAmigKX9C O2RE8UfJLOcXrSOIaWgUhw65vk1MWFsqGp6B6dkLb9hKvBeFuIwb7SyMO93986lyCwIc lMUjFBHWmPc/tvzUuwe9e1LxxQsk/6EZRBqGLfuIGx/EFoLaKc4dMOriWvKhLMog91e9 9NQg== 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=7QeW08PCvBPh4jCzirDm4OvhqOkxDcnFUvmRrdsGKrY=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=nUgZu3UsPkIDjlT4G3JxQNa5K6vszn/SLjRj1Qkd3/NfeNBZUhwZv3oLEMAr6eKKCD 9j73GJSXo3Sl3FT9oOCI1H7DXRyy/ZwGMBhuJPIX7/prJRgF1Xno1ODHSk0HgQCUj0aa VLAfBsng6mWlR6d+gI5aklp1IJDnv+aJjazsDTW5uQW6BxpeL3+Z2j1uuVneiiQOK/zB 9Ne+0PWG5JyA2GEvU78bpoX7nWrEHdWx74OOE2XxVVc9KwQOgD0+gIvGpNgtFOauclkF fw4iTHoWkQ9a9WkAC42rX6Rv3LKw+sbJBbmBgr6DJz6K8mn6a3IbOIu1V4PWvkkkfbxU 1+cQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="JT/mbHyk"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id h11-20020a17090ac38b00b002774e11ca41si1623168pjt.67.2023.09.29.06.59.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 06:59:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="JT/mbHyk"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 4F3DF80A310B; Fri, 29 Sep 2023 04:21:39 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232936AbjI2LVT (ORCPT + 20 others); Fri, 29 Sep 2023 07:21:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233027AbjI2LVR (ORCPT ); Fri, 29 Sep 2023 07:21:17 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEB0ADE; Fri, 29 Sep 2023 04:21:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695986475; x=1727522475; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SOTF2g4fczxWDnPyPPMkU3zxhE9HJ0A3Sy4Wgp+p9SU=; b=JT/mbHyk3I60YS8v0kJAJ7PCApeEU/s306W36mJ1GmuoHvVpy6pGxqbg +5XIBJ3BzPPvreiWlOzITcDQ8o4ZMozFN033z6BPLQbdOZ2gWZJuZ6BnJ nzzwxPVLOyFPr3BkOtadYrwEN8M0d8JVuTamvH8SX1pawHuCgcZsqchCY tB7BhhIERNkenjOJ+h+Wer1U5HofGT1SHanQo1HL7WMCPPh2EKAVjlIzL gk+g1NaGg1PYpeJlGjJZsJhEBfORTL0FmCV8j/1mVpASvuxky6Av01+lo hKuFBzS9z+KMFISr1S4YOC9Osb+6PyQwT5S4m+bPIUHYIwoizG1sbuPEg A==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="468558446" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="468558446" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="923571111" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="923571111" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:10 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 2/7] selftests/resctrl: Extend signal handler coverage to unmount on receiving signal Date: Fri, 29 Sep 2023 14:20:34 +0300 Message-Id: <20230929112039.7488-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:21:39 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778380683915877725 X-GMAIL-MSGID: 1778380683915877725 Unmounting resctrl FS has been moved into the per test functions in resctrl_tests.c by commit caddc0fbe495 ("selftests/resctrl: Move resctrl FS mount/umount to higher level"). In case a signal (SIGINT, SIGTERM, or SIGHUP) is received, the running selftest is aborted by ctrlc_handler() which then unmounts resctrl fs before exiting. The current section between signal_handler_register() and signal_handler_unregister(), however, does not cover the entire duration when resctrl FS is mounted. Move signal_handler_register() and signal_handler_unregister() calls from per test files into resctrl_tests.c to properly unmount resctrl fs. In order to not add signal_handler_register()/unregister() n times, create helpers test_prepare() and test_cleanup(). Do not call ksft_exit_fail_msg() in test_prepare() but only in the per test function to keep the control flow cleaner without adding calls to exit() deep into the call chain. Adjust child process kill() call in ctrlc_handler() to only be invoked if the child was already forked. Fixes: caddc0fbe495 ("selftests/resctrl: Move resctrl FS mount/umount to higher level") Signed-off-by: Ilpo Järvinen Tested-by: Shaopeng Tan Reviewed-by: Shaopeng Tan Cc: Reviewed-by: Reinette Chatre --- tools/testing/selftests/resctrl/cat_test.c | 8 --- .../testing/selftests/resctrl/resctrl_tests.c | 69 ++++++++++++------- tools/testing/selftests/resctrl/resctrl_val.c | 22 +++--- 3 files changed, 55 insertions(+), 44 deletions(-) diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index 97b87285ab2a..224ba8544d8a 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -167,12 +167,6 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) strcpy(param.filename, RESULT_FILE_NAME1); param.num_of_runs = 0; param.cpu_no = sibling_cpu_no; - } else { - ret = signal_handler_register(); - if (ret) { - kill(bm_pid, SIGKILL); - goto out; - } } remove(param.filename); @@ -209,10 +203,8 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) } close(pipefd[0]); kill(bm_pid, SIGKILL); - signal_handler_unregister(); } -out: cat_test_cleanup(); return ret; diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 823672a20a43..4eab2fad97fb 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -67,21 +67,45 @@ void tests_cleanup(void) cat_test_cleanup(); } -static void run_mbm_test(const char * const *benchmark_cmd, int cpu_no) +static int test_prepare() { int res; - ksft_print_msg("Starting MBM BW change ...\n"); + res = signal_handler_register(); + if (res) { + ksft_print_msg("Failed to register signal handler\n"); + return res; + } res = mount_resctrlfs(); if (res) { - ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + signal_handler_unregister(); + ksft_print_msg("Failed to mount resctrl FS\n"); + return res; + } + return 0; +} + +static void test_cleanup() +{ + umount_resctrlfs(); + signal_handler_unregister(); +} + +static void run_mbm_test(const char * const *benchmark_cmd, int cpu_no) +{ + int res; + + ksft_print_msg("Starting MBM BW change ...\n"); + + if (test_prepare()) { + ksft_exit_fail_msg("Abnormal failure when preparing for the test\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"); - goto umount; + goto cleanup; } res = mbm_bw_change(cpu_no, benchmark_cmd); @@ -89,8 +113,8 @@ static void run_mbm_test(const char * const *benchmark_cmd, int cpu_no) 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(); +cleanup: + test_cleanup(); } static void run_mba_test(const char * const *benchmark_cmd, int cpu_no) @@ -99,22 +123,21 @@ static void run_mba_test(const char * const *benchmark_cmd, int cpu_no) ksft_print_msg("Starting MBA Schemata change ...\n"); - res = mount_resctrlfs(); - if (res) { - ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + if (test_prepare()) { + ksft_exit_fail_msg("Abnormal failure when preparing for the test\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"); - goto umount; + goto cleanup; } res = mba_schemata_change(cpu_no, benchmark_cmd); ksft_test_result(!res, "MBA: schemata change\n"); -umount: - umount_resctrlfs(); +cleanup: + test_cleanup(); } static void run_cmt_test(const char * const *benchmark_cmd, int cpu_no) @@ -123,15 +146,14 @@ static void run_cmt_test(const char * const *benchmark_cmd, int cpu_no) ksft_print_msg("Starting CMT test ...\n"); - res = mount_resctrlfs(); - if (res) { - ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + if (test_prepare()) { + ksft_exit_fail_msg("Abnormal failure when preparing for the test\n"); return; } if (!validate_resctrl_feature_request(CMT_STR)) { ksft_test_result_skip("Hardware does not support CMT or CMT is disabled\n"); - goto umount; + goto cleanup; } res = cmt_resctrl_val(cpu_no, 5, benchmark_cmd); @@ -139,8 +161,8 @@ static void run_cmt_test(const char * const *benchmark_cmd, int cpu_no) 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(); +cleanup: + test_cleanup(); } static void run_cat_test(int cpu_no, int no_of_bits) @@ -149,22 +171,21 @@ static void run_cat_test(int cpu_no, int no_of_bits) ksft_print_msg("Starting CAT test ...\n"); - res = mount_resctrlfs(); - if (res) { - ksft_exit_fail_msg("Failed to mount resctrl FS\n"); + if (test_prepare()) { + ksft_exit_fail_msg("Abnormal failure when preparing for the test\n"); return; } if (!validate_resctrl_feature_request(CAT_STR)) { ksft_test_result_skip("Hardware does not support CAT or CAT is disabled\n"); - goto umount; + goto cleanup; } res = cat_perf_miss_val(cpu_no, no_of_bits, "L3"); ksft_test_result(!res, "CAT: test\n"); -umount: - umount_resctrlfs(); +cleanup: + test_cleanup(); } int main(int argc, char **argv) diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index 1e8b90077218..c37ffaa49844 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -468,7 +468,9 @@ pid_t bm_pid, ppid; void ctrlc_handler(int signum, siginfo_t *info, void *ptr) { - kill(bm_pid, SIGKILL); + /* Only kill child after bm_pid is set after fork() */ + if (bm_pid) + kill(bm_pid, SIGKILL); umount_resctrlfs(); tests_cleanup(); ksft_print_msg("Ending\n\n"); @@ -485,6 +487,8 @@ int signal_handler_register(void) struct sigaction sigact; int ret = 0; + bm_pid = 0; + sigact.sa_sigaction = ctrlc_handler; sigemptyset(&sigact.sa_mask); sigact.sa_flags = SA_SIGINFO; @@ -706,10 +710,6 @@ int resctrl_val(const char * const *benchmark_cmd, struct resctrl_val_param *par ksft_print_msg("Benchmark PID: %d\n", bm_pid); - ret = signal_handler_register(); - if (ret) - goto out; - /* * The cast removes constness but nothing mutates benchmark_cmd within * the context of this process. At the receiving process, it becomes @@ -721,19 +721,19 @@ int resctrl_val(const char * const *benchmark_cmd, struct resctrl_val_param *par /* Taskset benchmark to specified cpu */ ret = taskset_benchmark(bm_pid, param->cpu_no); if (ret) - goto unregister; + goto out; /* Write benchmark to specified control&monitoring grp in resctrl FS */ ret = write_bm_pid_to_resctrl(bm_pid, param->ctrlgrp, param->mongrp, resctrl_val); if (ret) - goto unregister; + goto out; if (!strncmp(resctrl_val, MBM_STR, sizeof(MBM_STR)) || !strncmp(resctrl_val, MBA_STR, sizeof(MBA_STR))) { ret = initialize_mem_bw_imc(); if (ret) - goto unregister; + goto out; initialize_mem_bw_resctrl(param->ctrlgrp, param->mongrp, param->cpu_no, resctrl_val); @@ -748,7 +748,7 @@ int resctrl_val(const char * const *benchmark_cmd, struct resctrl_val_param *par sizeof(pipe_message)) { perror("# failed reading message from child process"); close(pipefd[0]); - goto unregister; + goto out; } } close(pipefd[0]); @@ -757,7 +757,7 @@ int resctrl_val(const char * const *benchmark_cmd, struct resctrl_val_param *par if (sigqueue(bm_pid, SIGUSR1, value) == -1) { perror("# sigqueue SIGUSR1 to child"); ret = errno; - goto unregister; + goto out; } /* Give benchmark enough time to fully run */ @@ -786,8 +786,6 @@ int resctrl_val(const char * const *benchmark_cmd, struct resctrl_val_param *par } } -unregister: - signal_handler_unregister(); out: kill(bm_pid, SIGKILL); From patchwork Fri Sep 29 11:20:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146753 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp16247vqb; Fri, 29 Sep 2023 13:08:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFqy0qYjbd6YqEPTcWEhAOfOxKX5ucvlZws7JPaCVyfYyyKL2aWQHuKgoks+osmMUPJo5zv X-Received: by 2002:a17:903:185:b0:1bf:826:9e30 with SMTP id z5-20020a170903018500b001bf08269e30mr5731934plg.16.1696018081640; Fri, 29 Sep 2023 13:08:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696018081; cv=none; d=google.com; s=arc-20160816; b=lff/tlWPmr+8DG8zwjjyDRQWCP0prgr6Y21URzHlNN77iHjKj6nDuwsjO2el/TLiHd moCFTZSipuMbbQMxWJJ7VHMERAyq3sm6jFb89/94uk10ve1xKqhU/S2MXaxwerlSdj9W 0Pyh/jilEsxM7Uc4us/8035KTItlIRGeAcmoAzSlO6ihyD/P4vSf4sqyAVFOlKGwe0HM VLE9CeONwAlOGvk74Cbc1Ad4hG6ubGFhvVzqe/lFBpHpqz50bXfZTffliFIzTgwQUo+h hM1FFMNE80Aozj+PSTyQkMDYGcZ56+aixNv64CzydGLWiqOobF8Q3t/uFA1zuHY47JdF bZtw== 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=r+zdzvBg4rjAKR+9Y2qsnR5AAzcl6NrQpn5fsGhTiOA=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=BBErosQSKqmBb7e7LDbCSQbLv2qXHnygyQA/0qF3+1OUT/NUa7Ujq9f5PuWrxDNYOM /Rr/qnDA9KGL3xC2SVoDK2bePQfke3W9t5liSlRdjjpiZp1hHYiN+Z0kRjQF1Bcv0xZl NHeyxs0/QHtBuWUNwuLOw1/t251I5U3Kyq0EDdXSfcrYTvFvEINYRPuaCyIV5uVASRjz C+TCJMbOQqsntUsb6d7LKj18U13svyY+Bqg0fV6LIPSkXHWkF/lqedVNcCeZJKyGXiL0 nHYcpK3Sf8wg8WyrZm8zWO9FRX/x3hHY2O4i8agMbVkQKjXRr8WlrVpcz+eJSvs/II7B GbDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cunuUGjH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 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 agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id q8-20020a170902a3c800b001bb95a5cb9fsi13625370plb.522.2023.09.29.13.08.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 13:08:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cunuUGjH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 1718F80A3110; Fri, 29 Sep 2023 04:21:57 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233023AbjI2LVb (ORCPT + 20 others); Fri, 29 Sep 2023 07:21:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232800AbjI2LV1 (ORCPT ); Fri, 29 Sep 2023 07:21:27 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E8941B5; Fri, 29 Sep 2023 04:21:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695986485; x=1727522485; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ou58BhmUDES8CEg+FgG6IR/42js/OkGnyYaFV5Nw5Zo=; b=cunuUGjHYHcqqtTKRrHVc+ij72gxrGoSkH/3RHvWoLEHhGs+OPmoQB5D qbgA7RkhmdJSikiof1dxIAB+50Au6xnGdzhu/LX+IGmUgG9SPdzc9pmFX 06JPn+vXtXWYd502knjHmRYi21wqoTP4Ek8s9sfyJ+62vr7kpweAA2JRr Svijq4+9Z/DliQZhaanmgkWM+06Kg5o8K7lLjbnasWY0MzoTYBdICf1Gx hnISzafJpUh3Pumim+DzS+de0LynVvwd/DcU/TVzVXvRNUCjUcabzUTqM OoLKu/4Yt0iI8XozqEVrDWnGcbR1lvIKCVYeSUgKSVNrqM+PNeFnnh1VC g==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="446435557" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="446435557" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="779243954" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="779243954" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:21 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 3/7] selftests/resctrl: Remove duplicate feature check from CMT test Date: Fri, 29 Sep 2023 14:20:35 +0300 Message-Id: <20230929112039.7488-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:21:57 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778403856076581587 X-GMAIL-MSGID: 1778403856076581587 The test runner run_cmt_test() in resctrl_tests.c checks for CMT feature and does not run cmt_resctrl_val() if CMT is not supported. Then cmt_resctrl_val() also check is CMT is supported. Remove the duplicated feature check for CMT from cmt_resctrl_val(). Signed-off-by: Ilpo Järvinen Tested-by: Shaopeng Tan Reviewed-by: Reinette Chatre Reviewed-by: Shaopeng Tan Cc: --- tools/testing/selftests/resctrl/cmt_test.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c index cf2f5e92dea6..50bdbce9fba9 100644 --- a/tools/testing/selftests/resctrl/cmt_test.c +++ b/tools/testing/selftests/resctrl/cmt_test.c @@ -80,9 +80,6 @@ int cmt_resctrl_val(int cpu_no, int n, const char * const *benchmark_cmd) size_t span; int ret, i; - if (!validate_resctrl_feature_request(CMT_STR)) - return -1; - ret = get_cbm_mask("L3", cbm_mask); if (ret) return ret; From patchwork Fri Sep 29 11:20:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146541 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp4003681vqu; Fri, 29 Sep 2023 05:53:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHmbh2+pF1JySN+2hzO8q6QIfP29Rj0tgZHy3N2TJt9jpV22+qWeZR44aMf+wPy/CA66Y9o X-Received: by 2002:a05:6a20:840d:b0:159:f884:4d6e with SMTP id c13-20020a056a20840d00b00159f8844d6emr4921419pzd.40.1695992009186; Fri, 29 Sep 2023 05:53:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695992009; cv=none; d=google.com; s=arc-20160816; b=BUbe/5cNBkRsglPjGovCZ5sAXPkrupKpE6UXu3s4uLhQpTAC9PBVFg49NuJAJbFbye n0u+CI4VvQo2y2HvWqK5NXm2XlFPE4zzE5REeiowuQkI7oMq6Ulwqu7FncEjL62ZVyOM YohuQdv0RULpWbGglFW/vvBz45dVfDrUVMApMW1/e9ZqcAe87F7IDvAVda2Jp6ZzoyLK Dlqgv3N+tF2UfyPooHr/seP6AHLb64gbXNsTHVipGoqfKBRomdcJFf4zZYL6+gr1oBP+ 2SpIUszZHziFvIT5wNhUtdIRcLdvgpW3NPJhR2qHswToJU2dN+nvrCyEZsnWBKMz3Yqh 1X4w== 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=GnO/lvc/kh/QYffXPKp9m3qqkSWAxHDrd542m6ZW9x0=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=TG3h+EhBY1hm2v7RZAeJFdko4NRtTz8DcvbQ/SiSEVI+ijTUUTRUVXjyOTr/z7cSYr i0KNOpjnut2TDqy6v2aM/nGzroUIDZU2XFPyp5Vc2JiuMV8EbY81+GrkTjmjJCaQXL31 hoYGCSdYV57b8ZfNu0yKh4IDu1ZYFkZZN6+8Dpqzz9uYmqDp7HGyIyAhsK9b6A1vP9DT pYkHsK/MSyA7LHNbhE7VMdaD8dNdpxkwtuTuW9kUGrrtngsYxxkgJqNEeyx9Ai2Io5gL 5gaIZ0M9y9WE/zIhD54wxeDNyZiF8OtMw9OgkoPLBZ+tovMoxg516kYs/X0WPHE4kHFh 6FIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ETcwrfXg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id i15-20020a170902c94f00b001c0c79b3869si23309161pla.578.2023.09.29.05.53.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 05:53:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ETcwrfXg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 4717F802716A; Fri, 29 Sep 2023 04:22:21 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233028AbjI2LVn (ORCPT + 20 others); Fri, 29 Sep 2023 07:21:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233069AbjI2LVi (ORCPT ); Fri, 29 Sep 2023 07:21:38 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F3E20CC9; Fri, 29 Sep 2023 04:21: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=1695986495; x=1727522495; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=h2w4jLDwnHjcUapV1jkntv5pgIa6zmfErB3TZ/IGgk8=; b=ETcwrfXg5Flq/37uv/6yJy9+liesMKOctTIKQt19CJsocEro6WYXAZ5F VdFGnRKrdlhSsh4oM/VzV6nn/7UmcSXVciPCTMfUoD78KLJ+0QyTQCdIG ugTLlHSk/+3UKbhpK7kefhCivWHbvF0oQX+yrTZTUSGBDqCcVgnacApRH XKZmxDGyZvlI0qQ186rcdgBpz+FIYaV69W8bajm5iLfNtA2f/h80gi4RK uWSch31dluaRIAG5uTxy8GBjg24l8UlSjH30h6h4c/Olkc4QYZLMAJ6+f Ks5zct/qAiGElo2boWVgWkUirDG8Ckz1ipWf6/NdkCW4rwQ+8Z5hWIv02 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="361654988" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="361654988" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="996901511" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="996901511" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:30 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 4/7] selftests/resctrl: Move _GNU_SOURCE define into Makefile Date: Fri, 29 Sep 2023 14:20:36 +0300 Message-Id: <20230929112039.7488-5-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:22:21 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778376516730223180 X-GMAIL-MSGID: 1778376516730223180 _GNU_SOURCE is defined in resctrl.h. Defining _GNU_SOURCE has a large impact on what gets defined when including headers either before or after it. This can result in compile failures if .c file decides to include a standard header file before resctrl.h. It is safer to define _GNU_SOURCE in Makefile so it is always defined regardless of in which order includes are done. Signed-off-by: Ilpo Järvinen Tested-by: Shaopeng Tan Reviewed-by: Reinette Chatre Reviewed-by: Shaopeng Tan Cc: --- tools/testing/selftests/resctrl/Makefile | 2 +- tools/testing/selftests/resctrl/resctrl.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile index 5073dbc96125..2deac2031de9 100644 --- a/tools/testing/selftests/resctrl/Makefile +++ b/tools/testing/selftests/resctrl/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 +CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE CFLAGS += $(KHDR_INCLUDES) TEST_GEN_PROGS := resctrl_tests diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index dd07463cdf48..d9b5df95849d 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -1,5 +1,4 @@ /* SPDX-License-Identifier: GPL-2.0 */ -#define _GNU_SOURCE #ifndef RESCTRL_H #define RESCTRL_H #include From patchwork Fri Sep 29 11:20:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146512 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp3973449vqu; Fri, 29 Sep 2023 05:05:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGlLDXzn6UVkuE3f+5VfaxwomP2nMIfnRL8uR+wojdRgPzvdRbFsljug9lMBgCuDIpUcXNq X-Received: by 2002:a17:902:82c4:b0:1b8:ae24:c207 with SMTP id u4-20020a17090282c400b001b8ae24c207mr3279345plz.68.1695989155790; Fri, 29 Sep 2023 05:05:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695989155; cv=none; d=google.com; s=arc-20160816; b=bPpZtYlgPv85lrU+p98RYE/Y49kbD2h/3tjjMFC5B0pIyWF3NSZD9fEqXsNcKrxmnC Sf6o7VnwUi6IFICs5Bm7mLfU7NaN5TPIX92rmSj3rhnUOsEaAJt9XH1Zx+tKeisgeXmW 0Y1W7xwNLdaOTvcHoLtV/5cIs65hgY/a87iV1BcLZXV2evPwVLLVACayKqtvEJAX0Ax2 Ce4gpBYpOwCBOwYa0iHsZEJvU3At89V9EJgSkOfFlNgMlE6vpLyrurFtxWC3xqlj2vrX tIHNPTR3SxZCdVzaLpTz7+mLgXvo94z3KyMMou60KLXAgOw5jnXr6Yjm8tz3GJvty2Bw fChQ== 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=w8W7Q8lJ65s9mJ1mOWxcOrwQnUPsMVE9AzJq0JqXaTM=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=Vf/L9wt/k0Lf46ErmgvCqyGP1Gjj0WbqzONb2akieOcowR79aWWXUimPswjwEetRs3 05tcWI0knRjb4PQqUgQtbr/XKVc5BJQ5E6ui2RhnPLsPR2OZEvrGbHfn5arxTC1Dkepk uz4fs0u+3LKp7LJC7Be0DNKwlnU4YLyubyFDCA7JaURLMoLsfBGjn3VPatUMJkyGDG1H DzAcZowQ0v3NqKsjx5BbOsZ1PawwCi6mZV3fFgk49hE6QeaCHUx/YLBCTPJ9HiDAct7F Rz5ncbJrUQZuloarVprst45vzsRuBUGVgAFWScbKMbxAnPWGo2XsUZ7p7c0tLhMZEx1h BFCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EQV5Acqu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id q17-20020a17090311d100b001c7269bc9f5si7866642plh.152.2023.09.29.05.05.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 05:05:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EQV5Acqu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 22FD5807C654; Fri, 29 Sep 2023 04:21:57 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233066AbjI2LVu (ORCPT + 20 others); Fri, 29 Sep 2023 07:21:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233000AbjI2LVr (ORCPT ); Fri, 29 Sep 2023 07:21:47 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72C79B7; Fri, 29 Sep 2023 04:21:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695986504; x=1727522504; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=q0zhT6d1I+32T+OHgdhDYp7aUCeJ7FjQpx+QVBtQHPk=; b=EQV5Acqu0pEaEXnR/vfT2SetQ52ZwGVafiZxYWvWXLBtW0THGnoNgC6y W1oS1dQ8ibaTWWvCHp7O8Wcp+IPbtY5RSSBAMN6qMvMElA799LKVo6LgN Y7xpCNlO04P4T1FdtEaZbu37u5/EMV+ezeFtaiGhT7TDZsmmFcX9/mvfJ 21lG4cg4vyxyb3tVllC+hyzHhtkJY7THFwmf7yXLE4zrYH1/LniEr3/E+ xuKYpl/IkA/JE0omBaQCYP78vTc6h9vud+bGOY26tilFrZbiiqWjaDUdE SqYPo8Qc+x4dPKaQiFxsnz2LHA+GH5Oklg9d5suSadv+LvbhrRf3oejDM g==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="468558489" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="468558489" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="923571125" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="923571125" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:40 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 5/7] selftests/resctrl: Refactor feature check to use resource and feature name Date: Fri, 29 Sep 2023 14:20:37 +0300 Message-Id: <20230929112039.7488-6-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-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 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:21:57 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778373524911048403 X-GMAIL-MSGID: 1778373524911048403 Feature check in validate_resctrl_feature_request() takes in the test name string and maps that to what to check per test. Pass resource and feature names to validate_resctrl_feature_request() directly rather than deriving them from the test name inside the function which makes the feature check easier to extend for new test cases. Use !! in the return statement to make the boolean conversion more obvious even if it is not strictly necessary from correctness point of view (to avoid it looking like the function is returning a freed pointer). Signed-off-by: Ilpo Järvinen Tested-by: Shaopeng Tan Reviewed-by: Reinette Chatre Reviewed-by: Shaopeng Tan Cc: # selftests/resctrl: Remove duplicate feature check from CMT test Cc: # selftests/resctrl: Move _GNU_SOURCE define into Makefile --- tools/testing/selftests/resctrl/resctrl.h | 6 +- .../testing/selftests/resctrl/resctrl_tests.c | 10 +-- tools/testing/selftests/resctrl/resctrlfs.c | 69 ++++++++----------- 3 files changed, 34 insertions(+), 51 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h index d9b5df95849d..8578a8b4e145 100644 --- a/tools/testing/selftests/resctrl/resctrl.h +++ b/tools/testing/selftests/resctrl/resctrl.h @@ -27,10 +27,6 @@ #define RESCTRL_PATH "/sys/fs/resctrl" #define PHYS_ID_PATH "/sys/devices/system/cpu/cpu" #define INFO_PATH "/sys/fs/resctrl/info" -#define L3_PATH "/sys/fs/resctrl/info/L3" -#define MB_PATH "/sys/fs/resctrl/info/MB" -#define L3_MON_PATH "/sys/fs/resctrl/info/L3_MON" -#define L3_MON_FEATURES_PATH "/sys/fs/resctrl/info/L3_MON/mon_features" #define ARCH_INTEL 1 #define ARCH_AMD 2 @@ -87,7 +83,7 @@ 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); +bool validate_resctrl_feature_request(const char *resource, const char *feature); char *fgrep(FILE *inf, const char *str); int taskset_benchmark(pid_t bm_pid, int cpu_no); void run_benchmark(int signum, siginfo_t *info, void *ucontext); diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 4eab2fad97fb..7836bf0655fe 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -103,7 +103,9 @@ static void run_mbm_test(const char * const *benchmark_cmd, int cpu_no) return; } - if (!validate_resctrl_feature_request(MBM_STR) || (get_vendor() != ARCH_INTEL)) { + if (!validate_resctrl_feature_request("L3_MON", "mbm_total_bytes") || + !validate_resctrl_feature_request("L3_MON", "mbm_local_bytes") || + (get_vendor() != ARCH_INTEL)) { ksft_test_result_skip("Hardware does not support MBM or MBM is disabled\n"); goto cleanup; } @@ -128,7 +130,7 @@ static void run_mba_test(const char * const *benchmark_cmd, int cpu_no) return; } - if (!validate_resctrl_feature_request(MBA_STR) || (get_vendor() != ARCH_INTEL)) { + if (!validate_resctrl_feature_request("MB", NULL) || (get_vendor() != ARCH_INTEL)) { ksft_test_result_skip("Hardware does not support MBA or MBA is disabled\n"); goto cleanup; } @@ -151,7 +153,7 @@ static void run_cmt_test(const char * const *benchmark_cmd, int cpu_no) return; } - if (!validate_resctrl_feature_request(CMT_STR)) { + if (!validate_resctrl_feature_request("L3_MON", "llc_occupancy")) { ksft_test_result_skip("Hardware does not support CMT or CMT is disabled\n"); goto cleanup; } @@ -176,7 +178,7 @@ static void run_cat_test(int cpu_no, int no_of_bits) return; } - if (!validate_resctrl_feature_request(CAT_STR)) { + if (!validate_resctrl_feature_request("L3", NULL)) { ksft_test_result_skip("Hardware does not support CAT or CAT is disabled\n"); goto cleanup; } diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index bd36ee206602..3a8111362d26 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -8,6 +8,8 @@ * Sai Praneeth Prakhya , * Fenghua Yu */ +#include + #include "resctrl.h" static int find_resctrl_mount(char *buffer) @@ -604,63 +606,46 @@ char *fgrep(FILE *inf, const char *str) /* * validate_resctrl_feature_request - Check if requested feature is valid. - * @resctrl_val: Requested feature + * @resource: Required resource (e.g., MB, L3, L2, L3_MON, etc.) + * @feature: Required monitor feature (in mon_features file). Can only be + * set for L3_MON. Must be NULL for all other resources. * - * Return: True if the feature is supported, else false. False is also - * returned if resctrl FS is not mounted. + * Return: True if the resource/feature is supported, else false. False is + * also returned if resctrl FS is not mounted. */ -bool validate_resctrl_feature_request(const char *resctrl_val) +bool validate_resctrl_feature_request(const char *resource, const char *feature) { + char res_path[PATH_MAX]; struct stat statbuf; - bool found = false; char *res; FILE *inf; int ret; - if (!resctrl_val) + if (!resource) return false; ret = find_resctrl_mount(NULL); if (ret) return false; - if (!strncmp(resctrl_val, CAT_STR, sizeof(CAT_STR))) { - if (!stat(L3_PATH, &statbuf)) - return true; - } else if (!strncmp(resctrl_val, MBA_STR, sizeof(MBA_STR))) { - if (!stat(MB_PATH, &statbuf)) - return true; - } else if (!strncmp(resctrl_val, MBM_STR, sizeof(MBM_STR)) || - !strncmp(resctrl_val, CMT_STR, sizeof(CMT_STR))) { - if (!stat(L3_MON_PATH, &statbuf)) { - inf = fopen(L3_MON_FEATURES_PATH, "r"); - if (!inf) - return false; - - if (!strncmp(resctrl_val, CMT_STR, sizeof(CMT_STR))) { - res = fgrep(inf, "llc_occupancy"); - if (res) { - found = true; - free(res); - } - } - - if (!strncmp(resctrl_val, MBM_STR, sizeof(MBM_STR))) { - res = fgrep(inf, "mbm_total_bytes"); - if (res) { - free(res); - res = fgrep(inf, "mbm_local_bytes"); - if (res) { - found = true; - free(res); - } - } - } - fclose(inf); - } - } + snprintf(res_path, sizeof(res_path), "%s/%s", INFO_PATH, resource); + + if (stat(res_path, &statbuf)) + return false; + + if (!feature) + return true; + + snprintf(res_path, sizeof(res_path), "%s/%s/mon_features", INFO_PATH, resource); + inf = fopen(res_path, "r"); + if (!inf) + return false; + + res = fgrep(inf, feature); + free(res); + fclose(inf); - return found; + return !!res; } int filter_dmesg(void) From patchwork Fri Sep 29 11:20:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146529 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp3987832vqu; Fri, 29 Sep 2023 05:28:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFyb0pAY946fwKNCp1TmqrR3X7QCnGuYsUothQNTQOXVkQoKCqsIsUiQpPK3d3A6mbhc8T4 X-Received: by 2002:a05:6a20:a110:b0:13d:1d14:6693 with SMTP id q16-20020a056a20a11000b0013d1d146693mr4385118pzk.45.1695990506442; Fri, 29 Sep 2023 05:28:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695990506; cv=none; d=google.com; s=arc-20160816; b=Q1pdeMQy8gtZyRzxP2MNpgK/9r82W/e9mouAfgMbSsHwwZyXmoy6pYxE1Et6xIroKW pqgI7Trbz7M/dj0nT/OjluOC19FEi1AaPQo1DmYGCg5JyJDeyq/YvbVhEzNAQv3dkWaK f4ABzSc3ez602LHgn0ifIKvG5lqlZtTeZ0hqlMVYgVEXHj52lTQYuT2E2bDN5yLj3qou DePur93hSIiqRjYc69CShHUGfmNNZ1BtkPJjyBFFYY2Y9dejUBo9miZxQHqdYrV30Hld CQbLcWHg1vJQxZhv8VRHvW++QI2Rt/w3k03r6oCsY6HEALc7ti7QOtPWHZwnVxx0sfte N6Og== 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=FCDDx+g9WyxQok3snwGB0K5XwwN6SQrpJdNL/XdQeug=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=GV5jf+uNbleyLK0WMLj0ifAB4VoMAIpnv+H2ekBfHzX08ScF2EQHijeRf5Db7KvmB1 kZIru1+4vjjjpdSUbIFPOnPWfIopLcrpwX+uIsGDnXbs5iJE5DAilIPOgcOHoWxHnKc+ 5JhFGDtBuKWxMvh2TnK6WCh5EBzs3EmwMAwbrkEZ1W3pF4zngMfG0nta61hJ9Bx//PO+ 8yOB2pqCx+DNS7hdKX+Bty4nvLlwt+qm283clY3AuGDZ0IVqB5BC6F2z2EjbMzS8qej1 qQlg50xFinlYDeSyKz+kQROZhy2dd8pppg7f22chj5bbKUDbMd7nr3yyCGcVvm7Qqpe0 sRdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HXE2UCMY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 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 groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id by6-20020a056a00400600b0068fc2f7cef3si19709667pfb.358.2023.09.29.05.28.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 05:28:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HXE2UCMY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 0E01980BB56F; Fri, 29 Sep 2023 04:22:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233106AbjI2LWG (ORCPT + 20 others); Fri, 29 Sep 2023 07:22:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233102AbjI2LWA (ORCPT ); Fri, 29 Sep 2023 07:22:00 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F109CD3; Fri, 29 Sep 2023 04:21:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695986515; x=1727522515; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5l0ZHuykukESFgWvvhf6YnavKoa3byGUAMZS0+yfFSI=; b=HXE2UCMY2u3nmGx39Avlik5FQtNktHAMvCTOEW4nAKH+JPSGEnWxH4dk 7KeP9KcqhBiGpiwxpe4joj/D5ePcwU0TazNd5sEBwsceEwSc1zrgSEap1 htUbr3dCiuSm0zr1HG+NztHeLWaUXPc/2jc2hAF3oDECxO70z/+NwTTy+ +Il+8gMXE2kJhOiBlm4H4xr4r9mIZQ9HLAHEDpu4GS1cc6yRCOLAwENOt 1KlJ8fFecIKJCL62I+qSQ0tV55PbMf6uvlylJqNGsBgggdEo45cvC3U0t 2TLTBPO+J8Qh/LMWQ9ZrQiL57M2p1tLSiOOx5Tmr1UxO7/lInUGbHaIs+ w==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="361655039" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="361655039" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="996901553" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="996901553" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:21:51 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 6/7] selftests/resctrl: Fix feature checks Date: Fri, 29 Sep 2023 14:20:38 +0300 Message-Id: <20230929112039.7488-7-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:22:20 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778374941283332815 X-GMAIL-MSGID: 1778374941283332815 The MBA and CMT tests expect support of other features to be able to run. When platform only supports MBA but not MBM, MBA test will fail with: Failed to open total bw file: No such file or directory When platform only supports CMT but not CAT, CMT test will fail with: Failed to open bit mask file '/sys/fs/resctrl/info/L3/cbm_mask': No such file or directory It leads to the test reporting test fail (even if no test was run at all). Extend feature checks to cover these two conditions to show these tests were skipped rather than failed. Fixes: ee0415681eb6 ("selftests/resctrl: Use resctrl/info for feature detection") Signed-off-by: Ilpo Järvinen Tested-by: Shaopeng Tan Reviewed-by: Reinette Chatre Reviewed-by: Shaopeng Tan Cc: # selftests/resctrl: Refactor feature check to use resource and feature name --- tools/testing/selftests/resctrl/resctrl_tests.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 7836bf0655fe..063fc3e50e48 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -130,7 +130,9 @@ static void run_mba_test(const char * const *benchmark_cmd, int cpu_no) return; } - if (!validate_resctrl_feature_request("MB", NULL) || (get_vendor() != ARCH_INTEL)) { + if (!validate_resctrl_feature_request("MB", NULL) || + !validate_resctrl_feature_request("L3_MON", "mbm_local_bytes") || + (get_vendor() != ARCH_INTEL)) { ksft_test_result_skip("Hardware does not support MBA or MBA is disabled\n"); goto cleanup; } @@ -153,7 +155,8 @@ static void run_cmt_test(const char * const *benchmark_cmd, int cpu_no) return; } - if (!validate_resctrl_feature_request("L3_MON", "llc_occupancy")) { + if (!validate_resctrl_feature_request("L3_MON", "llc_occupancy") || + !validate_resctrl_feature_request("L3", NULL)) { ksft_test_result_skip("Hardware does not support CMT or CMT is disabled\n"); goto cleanup; } From patchwork Fri Sep 29 11:20:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 146574 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp4059261vqu; Fri, 29 Sep 2023 07:08:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHzB8Qf6vczFcx8OpTXWjbvNnG4K704dj2bDlTBHR3cc+9Galw/TrvB1UVC6tHe/cREu4ll X-Received: by 2002:a17:90a:4ece:b0:25b:c454:a366 with SMTP id v14-20020a17090a4ece00b0025bc454a366mr4278325pjl.5.1695996516083; Fri, 29 Sep 2023 07:08:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695996516; cv=none; d=google.com; s=arc-20160816; b=BKyVsAJbijGmKFWq/IchOFB1opMLpbP1q7e8n5153QPTYsEnTAPr3Xv/3CJlkSmNpj laxDkNlbW2M0RsSaFoGaLIWkSsj4vnQ83O26hzZW3QGtW8qFpQdYe0PBqLSTALblfBrX evw0FaWPBR7quKubWIYcjSOkR57L7fNCF+xwr+BHdOKcY+o5T7lEFeoFd0MKkEpaSqiZ hR9C7kiCTEJl01b72aivzVudu0fXOufBtkOjZ32Kpj3NX5xpTJL7KHXU0mD15JYw/jlq Za1x40ucw84f3mmQ9WznygDCXRzuf47Pb3NmQU25ggv20yMeZvbX63ugAXqcbVCt8yfE NiVg== 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=2keUNVMQ34QaH0CuypKQEHCSwkkwyFQ1/fjpoCwhFU8=; fh=0zBAjxShfumhVJgCQ7/PrZqZq2D8mhtAJK1GC38L6Jc=; b=iIdh5ZwSCtffvKAeGsjvnt1UJsC0acahd2K22CTsW9btbpOEy4uCygx9XkhJ+byrEF NlDB1jE3P/PiLJnQz0pwsoiMOD9RScbwM4FHVmVNp3oFKByP3DILOlClvecaA9sWd6qH /LPYGG8rL0OG7j5wd72DifRiRUpT9s2W+TujVXYxvv2Zyuj76mfCcKmLyBUGi8/nxRsq 260+HoXp8BKNfPEpDJTGG25cwp8776GwQLH8vEwIxuqoyaaRWu+/Dk1JFSaG0SqVnNDv xg18B+Kclz1A2k5valyVJ5KngaV+yAgCDooYITePRM3XxZO5sF/N3DU1NTBK7LWBPssF r2qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KtqU73nt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id e22-20020a17090ac21600b0027383ac5ebcsi1669744pjt.130.2023.09.29.07.08.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 07:08:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KtqU73nt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 8223D867F1CB; Fri, 29 Sep 2023 04:22:30 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233069AbjI2LWK (ORCPT + 20 others); Fri, 29 Sep 2023 07:22:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233112AbjI2LWG (ORCPT ); Fri, 29 Sep 2023 07:22:06 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2C3F9CC3; Fri, 29 Sep 2023 04:22:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695986525; x=1727522525; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=sp0x4fJkDtvf5U3jrcchNzXDHSx4PqVE55/imOH1bT4=; b=KtqU73ntjdlMA8bbKymzsMKOI+2StQ5rHpXz7sQWr0sgC6Ywwywwd7eF 7eCDUlAy4KlGz7ZxBOpRXQMq2i40VDMbxp8M3R7iN8mxFou2gu7icVKvO pfrc7uMunmsNpCKmfTwsW2pb/mwBIIXluQJUDfikog0mPsDC0o+nSIAvR 1FMw9T8LvwkeRc8hyynMXWpVkOnQnnFu+9Gytct3hHVlUZAhnHWUOLpeb I7i2iV5Kho1rAfDpa+QVVLbpw1kEoTap7wg/Fr6xPqc6BGbUNBWyk0YWN EpmLf8SN7m+5jk5nfaFZlY8kjG51WVd7Wel2T4K5TDR6bVds3EJDvRxJt w==; X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="468558553" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="468558553" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:22:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10847"; a="923571201" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="923571201" Received: from valeks2x-mobl.ger.corp.intel.com (HELO localhost) ([10.252.53.242]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 04:22:01 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: linux-kselftest@vger.kernel.org, Shuah Khan , Reinette Chatre , =?utf-8?q?Maciej_Wiecz=C3=B3r-?= =?utf-8?q?Retman?= , Shaopeng Tan Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?utf-8?q?Ilpo_J?= =?utf-8?q?=C3=A4rvinen?= Subject: [PATCH v3 7/7] selftests/resctrl: Reduce failures due to outliers in MBA/MBM tests Date: Fri, 29 Sep 2023 14:20:39 +0300 Message-Id: <20230929112039.7488-8-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230929112039.7488-1-ilpo.jarvinen@linux.intel.com> References: <20230929112039.7488-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 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Fri, 29 Sep 2023 04:22:30 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778381243003285581 X-GMAIL-MSGID: 1778381243003285581 The initial value of 5% chosen for the maximum allowed percentage difference between resctrl mbm value and IMC mbm value in commit 06bd03a57f8c ("selftests/resctrl: Fix MBA/MBM results reporting format") was "randomly chosen value" (as admitted by the changelog). When running tests in our lab across a large number platforms, 5% difference upper bound for success seems a bit on the low side for the MBA and MBM tests. Some platforms produce outliers that are slightly above that, typically 6-7%, which leads MBA/MBM test frequently failing. Replace the "randomly chosen value" with a success bound that is based on those measurements across large number of platforms by relaxing the MBA/MBM success bound to 8%. The relaxed bound removes the failures due the frequent outliers. Fixes: 06bd03a57f8c ("selftests/resctrl: Fix MBA/MBM results reporting format") Signed-off-by: Ilpo Järvinen Tested-by: Shaopeng Tan Reviewed-by: Reinette Chatre Reviewed-by: Shaopeng Tan Cc: --- tools/testing/selftests/resctrl/mba_test.c | 2 +- tools/testing/selftests/resctrl/mbm_test.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c index cf8284dadcb2..d3bf4368341e 100644 --- a/tools/testing/selftests/resctrl/mba_test.c +++ b/tools/testing/selftests/resctrl/mba_test.c @@ -12,7 +12,7 @@ #define RESULT_FILE_NAME "result_mba" #define NUM_OF_RUNS 5 -#define MAX_DIFF_PERCENT 5 +#define MAX_DIFF_PERCENT 8 #define ALLOCATION_MAX 100 #define ALLOCATION_MIN 10 #define ALLOCATION_STEP 10 diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index 1ae131a2e246..d3c0d30c676a 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -11,7 +11,7 @@ #include "resctrl.h" #define RESULT_FILE_NAME "result_mbm" -#define MAX_DIFF_PERCENT 5 +#define MAX_DIFF_PERCENT 8 #define NUM_OF_RUNS 5 static int