Re: [PATCH 2/2] virtio_scsi: implement request batching

From: Bart Van Assche
Date: Thu May 30 2019 - 13:32:14 EST


On 5/30/19 4:28 AM, Paolo Bonzini wrote:
@@ -531,7 +547,8 @@ static int virtscsi_queuecommand(struct Scsi_Host *shost,
req_size = sizeof(cmd->req.cmd);
}
- ret = virtscsi_kick_cmd(req_vq, cmd, req_size, sizeof(cmd->resp.cmd));
+ kick = (sc->flags & SCMD_LAST) != 0;
+ ret = virtscsi_add_cmd(req_vq, cmd, req_size, sizeof(cmd->resp.cmd), kick);

Have you considered to have the SCSI core call commit_rqs() if bd->last is true? I think that would avoid that we need to introduce the SCMD_LAST flag and that would also avoid that every SCSI LLD that supports a commit_rqs callback has to introduce code to test the SCMD_LAST flag.

Thanks,

Bart.