Re: [PATCH net-next v4 11/15] iscsi: Use sendmsg(MSG_SPLICE_PAGES) rather than sendpage

From: Mike Christie
Date: Fri Jun 23 2023 - 12:04:37 EST


On 6/23/23 6:44 AM, David Howells wrote:
> Use sendmsg() with MSG_SPLICE_PAGES rather than sendpage. This allows
> multiple pages and multipage folios to be passed through.
>
> TODO: iscsit_fe_sendpage_sg() should perhaps set up a bio_vec array for the
> entire set of pages it's going to transfer plus two for the header and
> trailer and page fragments to hold the header and trailer - and then call
> sendmsg once for the entire message.
>
> Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
> cc: Lee Duncan <lduncan@xxxxxxxx>
> cc: Chris Leech <cleech@xxxxxxxxxx>
> cc: Mike Christie <michael.christie@xxxxxxxxxx>
> cc: Maurizio Lombardi <mlombard@xxxxxxxxxx>
> cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx>
> cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
> cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> cc: Eric Dumazet <edumazet@xxxxxxxxxx>
> cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> cc: Paolo Abeni <pabeni@xxxxxxxxxx>
> cc: Jens Axboe <axboe@xxxxxxxxx>
> cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> cc: open-iscsi@xxxxxxxxxxxxxxxx
> cc: linux-scsi@xxxxxxxxxxxxxxx
> cc: target-devel@xxxxxxxxxxxxxxx
> cc: netdev@xxxxxxxxxxxxxxx
> ---
>
> Notes:
> ver #2)
> - Wrap lines at 80.
>
> drivers/scsi/iscsi_tcp.c | 26 +++++++++---------------
> drivers/scsi/iscsi_tcp.h | 2 --
> drivers/target/iscsi/iscsi_target_util.c | 15 ++++++++------

When you send this again can you split it into 2 patches?

drivers/scsi/iscsi_tcp.* is one driver. It's similar to a NFS client and
it has a set of maintainers that you saw in the MAINTAINER file.

drivers/target/iscsi/iscsi_target_util.c is another driver which is similar
to a NFS server. Martin is the overall maintainer but it's a group effort
to review patches.

I've tested and reviewed the iscsi_tcp parts. You can add my:

Reviewed-by: Mike Christie <michael.christie@xxxxxxxxxx>

For the iscsi_target_util.c part, I'm reviewing it now and hoping Maurizio
and/or Dimitry might review as well.

One question on the target part I had is about the TODO above. Is that
something you were going to do, or is it something you are asking the target
people to do?