public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
From: Aurelien Aptel <aaptel@nvidia.com>
To: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
	Chaitanya Kulkarni <chaitanyak@nvidia.com>,
	Daniel Wagner <dwagner@suse.de>, Shai Malin <smalin@nvidia.com>
Subject: Re: [PATCH blktests v4 5/5] nvme/055: add test for nvme-tcp zero-copy offload
Date: Mon, 02 Dec 2024 12:09:09 +0200	[thread overview]
Message-ID: <2537c8iv1kq.fsf@nvidia.com> (raw)
In-Reply-To: <5eqjhfwdxqiofyabkzon6qhcjwgpr7sqz3smlchorskyf7xoxh@t3j7og24ggdh>


Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com> writes:
> My understanding is that this test case requires the target set up by
> NVME_TARGET_CONTROL. Is it beneficial to explain what kind of target set
> up is required here?

Any target should do, but the host needs to use a NIC that supports DDP
offload. This means the loop/localhost target cannot be used.

> Does this test case require specific hardware for nvme-tcp and zero-copy?
> If so, it can be described here also, probably.

It requires hardware that supports the ULP DDP infrastructure
(specifically nvme-tcp). This includes ConnectX 7 NIC and above or
BlueField 3 DPU and above.

>> +requires() {
>> +     _nvme_requires
>> +     _require_remote_nvme_target
>> +     _require_nvme_trtype tcp
>> +     _have_kernel_option ULP_DDP
>> +     # require nvme-tcp as a module to be able to change the ddp_offload param
>> +     _have_module nvme_tcp && _have_module_param nvme_tcp ddp_offload
>
> I checked the latest kernel source code but could not find the ddp_offload
> parameter. Do I miss anything? or Do you plan to post kernel patches for it?

The DDP offload is part of the nvme-tcp offload series [1], and the only
missing part is the netdev maintainer (Jakub) request of including the
tests for the feature. We agreed to have those tests as part of blktests,
which we will then run in a CI.

>> +     _have_fio
>> +     _have_program ip
>> +     _have_program ethtool
>> +     _have_kernel_source && have_netlink_cli && _have_program python3
>> +     have_iface
>> +}
>> +
> [...]
>> +
>> +connect_run_disconnect() {
>> +     local io_size
>> +     local nvme_dev
>> +     local nb_drop
>> +     local drop_ratio
>> +     local nb_resync
>> +     local resync_ratio
>
> Nit: some local variables misses declarations here: nb_packets,
> nb_offload_packets, etc. It might be good to declare multiple variables
> in one line, like "local nb_drop nb_resync nb_packets ..." to reduce number
> of lines.

These are not declared as local because they are global, see the top of
the file.

I will declare the local ones on line when it makes it more readable.

Thanks.

1: https://lore.kernel.org/netdev/20240529160053.111531-1-aaptel@nvidia.com/


      reply	other threads:[~2024-12-02 10:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-26 20:38 [PATCH blktests v4 0/5] Add support to run against arbitrary targets Aurelien Aptel
2024-11-26 20:38 ` [PATCH blktests v4 1/5] nvme/rc: introduce remote target support Aurelien Aptel
2024-11-29 10:01   ` Shinichiro Kawasaki
2024-12-02 10:23     ` Aurelien Aptel
2024-11-26 20:38 ` [PATCH blktests v4 2/5] common/nvme: add digest options to __nvme_connect_subsys() Aurelien Aptel
2024-11-26 20:38 ` [PATCH blktests v4 3/5] nvme/030: only run against kernel soft target Aurelien Aptel
2024-11-26 20:38 ` [PATCH blktests v4 4/5] contrib: add remote target setup/cleanup script Aurelien Aptel
2024-11-26 20:38 ` [PATCH blktests v4 5/5] nvme/055: add test for nvme-tcp zero-copy offload Aurelien Aptel
2024-11-29 10:20   ` Shinichiro Kawasaki
2024-12-02 10:09     ` Aurelien Aptel [this message]

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=2537c8iv1kq.fsf@nvidia.com \
    --to=aaptel@nvidia.com \
    --cc=chaitanyak@nvidia.com \
    --cc=dwagner@suse.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=shinichiro.kawasaki@wdc.com \
    --cc=smalin@nvidia.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