[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ff7aaa01-022b-f55a-4bb2-c293cfd86bdd@redhat.com>
Date: Fri, 31 May 2019 11:03:16 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Bart Van Assche <bvanassche@....org>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Cc: jejb@...ux.ibm.com, martin.petersen@...cle.com,
linux-scsi@...r.kernel.org, stefanha@...hat.com
Subject: Re: [PATCH 2/2] virtio_scsi: implement request batching
On 30/05/19 19:28, Bart Van Assche wrote:
> 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.
That is slightly worse for performance, as it unlocks and re-locks the
spinlock.
Paolo
Powered by blists - more mailing lists