Linux block layer
 help / color / mirror / Atom feed
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Daniel Wagner <dwagner@suse.de>
Cc: "linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	Shin'ichiro Kawasaki <shinichiro@fastmail.com>,
	Hannes Reinecke <hare@suse.de>
Subject: Re: [PATCH blktests v3 09/12] common/fio: Limit number of random jobs
Date: Thu, 4 May 2023 05:16:34 +0000	[thread overview]
Message-ID: <ec72542d-a554-59ac-8f67-26eeb7f2a5b0@nvidia.com> (raw)
In-Reply-To: <2ercejt6r2qjkbpaoueh66nred4ooqb5wskx5m3xn2slb5kasw@zwssje3pm4mu>

On 5/3/23 04:01, Daniel Wagner wrote:
> On Wed, May 03, 2023 at 09:41:37AM +0000, Chaitanya Kulkarni wrote:
>> On 5/3/23 01:02, Daniel Wagner wrote:
>>> Limit the number of random threads to 32 for big machines. This still
>>> gives enough randomness but limits the resource usage.
>>>
>>> Signed-off-by: Daniel Wagner <dwagner@suse.de>
>>> ---
>> I don't think we should change this, the point of all the tests is
>> to not limit the resources but use threads at least equal to
>> $(nproc), see recent patches from lenovo they have 448 cores,
>> limiting 32 is < 10% CPUs and that is really small number for
>> a large machine if we decide to run tests on that machine ...
> I just wonder how handle the limits for the job size. Hannes asked to limit it
> to 32 CPUs so that the job size doesn't get small, e.g. nvme_img_size=16M job
> size per job with 448 CPUs is roughly 36kB. Is this good, bad or does it even
> make sense? I don't know.

16M is very small number ..

from my experience with smaller I/O sizes we don't see the lokdeps
that we see with the large I/O sizes hence it is a bad idea to use small
I/O sizes and limiting the jobs to hard coded 32 number ...

> My question is what should the policy be? Should we reject configuration which
> try to run too small jobs sizes? Reject anything below 1M for example? Or is
> there a metric which we could as base for a limit calculation (disk geometry)?

the basic requirement here is we need to run the I/O from every processor,
so let's keep --numjobs=($nproc) constant now and let the user set job 
size..
in this particular case for NVMe we set the size 1G and that is 
sufficient since
numbjobs are set to nproc and with this series user can set the size 
based on
a particular arch ...

See [1] if you are interested in how to quantify small or large job size.

For this series to merge let's keep is simple and not worry about erroring
out on a particular job size but just keeping the nproc as it is ...

-ck

Ideally in past what I've done is  :-
1. Accept the % of the CPU cores that we want to keep it busy.
2. Accept the % of the disk space we want to exercise test.
3. Use the combination of the #1 and #2 to spread out the
    job size across the number of jobs.

with above design one doesn't have to assume what is small or what it large
job size and system gets tested according to user's expectations such as
50% CPUs are busy on 80% disk size or 100% CPUs are busy with 50% of
disk size.



  reply	other threads:[~2023-05-04  5:16 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-03  8:02 [PATCH blktests v3 00/12] nvme testsuite runtime optimization Daniel Wagner
2023-05-03  8:02 ` [PATCH blktests v3 01/12] nvme/rc: Auto convert test device size info Daniel Wagner
2023-05-03  9:22   ` Chaitanya Kulkarni
2023-05-03  9:26     ` Daniel Wagner
2023-05-07 22:49   ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 02/12] nvme: Do not hard code device size for dd test Daniel Wagner
2023-05-03  9:23   ` Chaitanya Kulkarni
2023-05-07 22:51   ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 03/12] common/xfs: Make size argument optional for _xfs_run_fio_verify_io Daniel Wagner
2023-05-03  9:25   ` Chaitanya Kulkarni
2023-05-03  8:02 ` [PATCH blktests v3 04/12] common/xfs: Limit fio size job to fit into xfs fs Daniel Wagner
2023-05-03  9:29   ` Chaitanya Kulkarni
2023-05-03  9:42     ` Daniel Wagner
2023-05-03  8:02 ` [PATCH blktests v3 05/12] nvme: Use runtime fio background jobs Daniel Wagner
2023-05-07 22:56   ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 06/12] Documentation: Add info on nvme_tr_type Daniel Wagner
2023-05-03  9:32   ` Chaitanya Kulkarni
2023-05-07 23:21   ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 07/12] nvme: Make test image size configurable Daniel Wagner
2023-05-03  9:32   ` Chaitanya Kulkarni
2023-05-07 23:09   ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 08/12] nvme/rc: Add minimal test image size requirement Daniel Wagner
2023-05-03  9:35   ` Chaitanya Kulkarni
2023-05-07 23:19   ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 09/12] common/fio: Limit number of random jobs Daniel Wagner
2023-05-03  9:41   ` Chaitanya Kulkarni
2023-05-03 11:01     ` Daniel Wagner
2023-05-04  5:16       ` Chaitanya Kulkarni [this message]
2023-05-04  6:07         ` Daniel Wagner
2023-05-03  8:02 ` [PATCH blktests v3 10/12] nvme/rc: Calculate IO size for random fio jobs Daniel Wagner
2023-05-07 23:31   ` Shinichiro Kawasaki
2023-05-10 17:14     ` Daniel Wagner
2023-05-03  8:02 ` [PATCH blktests v3 11/12] nvme/rc: Move discovery generation counter code to rc Daniel Wagner
2023-05-07 23:34   ` Shinichiro Kawasaki
2023-05-10 17:24     ` Daniel Wagner
2023-05-11 16:44       ` Shinichiro Kawasaki
2023-05-03  8:02 ` [PATCH blktests v3 12/12] nvme: Make the number iterations configurable Daniel Wagner
2023-05-03  9:45   ` Chaitanya Kulkarni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ec72542d-a554-59ac-8f67-26eeb7f2a5b0@nvidia.com \
    --to=chaitanyak@nvidia.com \
    --cc=dwagner@suse.de \
    --cc=hare@suse.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=shinichiro@fastmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox