From nobody Wed Dec 17 11:42:16 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94E22C77B72 for ; Thu, 20 Apr 2023 18:32:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231822AbjDTScA (ORCPT ); Thu, 20 Apr 2023 14:32:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231704AbjDTSbm (ORCPT ); Thu, 20 Apr 2023 14:31:42 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EF74C5259; Thu, 20 Apr 2023 11:31:31 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 7EF911FD8D; Thu, 20 Apr 2023 18:31:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1682015490; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FKotN8oLTbJBb8LbRqu8BMmJNv6WXn80Z+YRR+9XiIM=; b=b0dLs/nOf0xOemZyvN55cL35m7VZ4LgBobRaG4u8mf93dVvFR5c7zABBLFgCMlZ3tuGT+h z1uC7lgVSNgtFdeT5Cq/VpS/wXUBuibIkx4CgzRMlMA6BrIYtIl+YSMS+POlWTRDOjCDaU qGYAsnpS/pz4CsnrGvIK8IZT/4ezXWE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1682015490; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FKotN8oLTbJBb8LbRqu8BMmJNv6WXn80Z+YRR+9XiIM=; b=3aNn2xsvrqdSQu5BseljXHDiMkIjbnG44IY/v+MPdzN+jO5oPS6RcgiVfSEv7ZSDEtMJwm 69e/4HLVkTuvrHBg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7141E13584; Thu, 20 Apr 2023 18:31:30 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Kq5+GwKFQWS4NAAAMHmgww (envelope-from ); Thu, 20 Apr 2023 18:31:30 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Chaitanya Kulkarni , Shin'ichiro Kawasaki , Daniel Wagner Subject: [PATCH blktests v2 7/9] nvme-rc: Calculate IO size for fio jobs Date: Thu, 20 Apr 2023 20:31:19 +0200 Message-Id: <20230420183121.4489-11-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230420183121.4489-1-dwagner@suse.de> References: <20230420183121.4489-1-dwagner@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Introduce two new function to calculate the IO size for fio jobs. _nvme_calc_io_size() returns the jobs size for _run_fio_verify_io() function. Reduce the max size of the job by one megabyte to make the test more robust not to run out of space by accident. Note these fio calls run with just one jobs. _nvme_calc_run_io_size() returns the jobs size for _run_fio_rand_io() function. Again, the jobs size is not maxing out the space and most important it takes the number of jobs into account which are created (number of CPUs). Signed-off-by: Daniel Wagner --- tests/nvme/010 | 5 +++-- tests/nvme/011 | 5 +++-- tests/nvme/032 | 6 ++++-- tests/nvme/034 | 4 +++- tests/nvme/040 | 4 +++- tests/nvme/045 | 4 +++- tests/nvme/047 | 6 ++++-- tests/nvme/rc | 20 ++++++++++++++++++++ 8 files changed, 43 insertions(+), 11 deletions(-) diff --git a/tests/nvme/010 b/tests/nvme/010 index 805f80d40620..d209335c2158 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -25,6 +25,7 @@ test() { local loop_dev local file_path=3D"${TMPDIR}/img" local subsys_name=3D"blktests-subsystem-1" + local io_size =20 truncate -s "${nvme_img_size}" "${file_path}" =20 @@ -41,8 +42,8 @@ test() { cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" =20 - _run_fio_verify_io --size=3D${nvme_img_size} \ - --filename=3D"/dev/${nvmedev}n1" + io_size=3D"$(_nvme_calc_io_size "${nvme_img_size}")" + _run_fio_verify_io --size=3D"${io_size}" --filename=3D"/dev/${nvmedev}n1" =20 _nvme_disconnect_subsys "${subsys_name}" =20 diff --git a/tests/nvme/011 b/tests/nvme/011 index da8cbac11124..294ba4333aff 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -25,6 +25,7 @@ test() { local file_path local file_path=3D"${TMPDIR}/img" local subsys_name=3D"blktests-subsystem-1" + local io_size =20 truncate -s "${nvme_img_size}" "${file_path}" =20 @@ -39,8 +40,8 @@ test() { cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" =20 - _run_fio_verify_io --size=3D"${nvme_img_size}" \ - --filename=3D"/dev/${nvmedev}n1" + io_size=3D"$(_nvme_calc_io_size "${nvme_img_size}")" + _run_fio_verify_io --size=3D"${io_size}" --filename=3D"/dev/${nvmedev}n1" =20 _nvme_disconnect_subsys "${subsys_name}" =20 diff --git a/tests/nvme/032 b/tests/nvme/032 index 9f9756b0f959..ad701cea877d 100755 --- a/tests/nvme/032 +++ b/tests/nvme/032 @@ -33,13 +33,15 @@ test_device() { local sysfs local attr local m + local rand_io_size =20 pdev=3D"$(_get_pci_dev_from_blkdev)" sysfs=3D"/sys/bus/pci/devices/${pdev}" =20 # start fio job - _run_fio_rand_io --filename=3D"$TEST_DEV" --size=3D"${nvme_img_size}" \ - --group_reporting --time_based --runtime=3D1m &> /dev/null & + rand_io_size=3D"$(_nvme_calc_rand_io_size "${nvme_img_size}")" + _run_fio_rand_io --filename=3D"$TEST_DEV" --size=3D"${rand_io_size}" \ + --group_reporting --time_based --runtime=3D1m > /dev/null & =20 sleep 5 =20 diff --git a/tests/nvme/034 b/tests/nvme/034 index e0ede717c373..0df8bef98e5e 100755 --- a/tests/nvme/034 +++ b/tests/nvme/034 @@ -19,6 +19,7 @@ test_device() { local ctrldev local nsdev local port + local io_size =20 echo "Running ${TEST_NAME}" =20 @@ -26,7 +27,8 @@ test_device() { port=3D$(_nvmet_passthru_target_setup "${subsys}") nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}") =20 - _run_fio_verify_io --size=3D"${nvme_img_size}" --filename=3D"${nsdev}" + io_size=3D"$(_nvme_calc_io_size "${nvme_img_size}")" + _run_fio_verify_io --size=3D"${io_size}" --filename=3D"${nsdev}" =20 _nvme_disconnect_subsys "${subsys}" _nvmet_passthru_target_cleanup "${port}" "${subsys}" diff --git a/tests/nvme/040 b/tests/nvme/040 index 31b7cafef4be..b033a2a866f2 100755 --- a/tests/nvme/040 +++ b/tests/nvme/040 @@ -21,6 +21,7 @@ test() { local port local loop_dev local nvmedev + local rand_io_size =20 echo "Running ${TEST_NAME}" =20 @@ -37,7 +38,8 @@ test() { =20 # start fio job echo "starting background fio" - _run_fio_rand_io --filename=3D"/dev/${nvmedev}n1" --size=3D"${nvme_img_si= ze}" \ + rand_io_size=3D"$(_nvme_calc_rand_io_size "${nvme_img_size}")" + _run_fio_rand_io --filename=3D"/dev/${nvmedev}n1" --size=3D"${rand_io_siz= e}" \ --group_reporting --ramp_time=3D5 \ --time_based --runtime=3D1m &> /dev/null & sleep 5 diff --git a/tests/nvme/045 b/tests/nvme/045 index 99012f6bed8f..f50087cccb6a 100755 --- a/tests/nvme/045 +++ b/tests/nvme/045 @@ -31,6 +31,7 @@ test() { local ctrlkey local new_ctrlkey local ctrldev + local rand_io_size =20 echo "Running ${TEST_NAME}" =20 @@ -120,7 +121,8 @@ test() { =20 nvmedev=3D$(_find_nvme_dev "${subsys_name}") =20 - _run_fio_rand_io --size=3D4m --filename=3D"/dev/${nvmedev}n1" + rand_io_size=3D"$(_nvme_calc_rand_io_size 4m)" + _run_fio_rand_io --size=3D"${rand_io_size}" --filename=3D"/dev/${nvmedev}= n1" =20 _nvme_disconnect_subsys "${subsys_name}" =20 diff --git a/tests/nvme/047 b/tests/nvme/047 index b5a8d469a983..6a7599bc2e91 100755 --- a/tests/nvme/047 +++ b/tests/nvme/047 @@ -25,6 +25,7 @@ test() { local port local nvmedev local loop_dev + local rand_io_size local file_path=3D"$TMPDIR/img" local subsys_name=3D"blktests-subsystem-1" =20 @@ -42,7 +43,8 @@ test() { =20 nvmedev=3D$(_find_nvme_dev "${subsys_name}") =20 - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL + rand_io_size=3D"$(_nvme_calc_rand_io_size 4M)" + _run_fio_rand_io --filename=3D"/dev/${nvmedev}n1" --size=3D"${rand_io_siz= e}" =20 _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 =20 @@ -50,7 +52,7 @@ test() { --nr-write-queues 1 \ --nr-poll-queues 1 || echo FAIL =20 - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL + _run_fio_rand_io --filename=3D"/dev/${nvmedev}n1" --size=3D"${rand_io_siz= e}" =20 _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 =20 diff --git a/tests/nvme/rc b/tests/nvme/rc index b1f2dacae125..172f510527ed 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -150,6 +150,26 @@ _test_dev_nvme_nsid() { cat "${TEST_DEV_SYSFS}/nsid" } =20 +_nvme_calc_io_size() { + local img_size_mb + local io_size_mb + + img_size_mb=3D"$(convert_to_mb "$1")" + io_size_mb=3D"$((img_size_mb - 1))" + + echo "${io_size_mb}m" +} + +_nvme_calc_rand_io_size() { + local img_size_mb + local io_size_mb + + img_size_mb=3D"$(convert_to_mb "$1")" + io_size_mb=3D"$(printf "%d" $((((img_size_mb * 1024 * 1024) / $(nproc) - = 1) / 1024)))" + + echo "${io_size_mb}k" +} + _nvme_fcloop_add_rport() { local local_wwnn=3D"$1" local local_wwpn=3D"$2" --=20 2.40.0