Skip to content

Commit

Permalink
skd: Simplify the code for deciding whether or not to send a FIT msg
Browse files Browse the repository at this point in the history
Due to the previous patch it is guaranteed that the FIT msg contains
at least one request after the for-loop has finished. Use this to
simplify the code.

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
Bart Van Assche authored and Jens Axboe committed Aug 18, 2017
1 parent 19fc85c commit fe4fd72
Showing 1 changed file with 5 additions and 24 deletions.
29 changes: 5 additions & 24 deletions drivers/block/skd_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -693,36 +693,17 @@ static void skd_request_fn(struct request_queue *q)
/*
* If the FIT msg buffer is full send it.
*/
if (skmsg->length >= SKD_N_FITMSG_BYTES ||
fmh->num_protocol_cmds_coalesced >= skd_max_req_per_msg) {
if (fmh->num_protocol_cmds_coalesced >= skd_max_req_per_msg) {
skd_send_fitmsg(skdev, skmsg);
skmsg = NULL;
fmh = NULL;
}
}

/*
* Is a FIT msg in progress? If it is empty put the buffer back
* on the free list. If it is non-empty send what we got.
* This minimizes latency when there are fewer requests than
* what fits in a FIT msg.
*/
if (skmsg != NULL) {
/* Bigger than just a FIT msg header? */
if (skmsg->length > sizeof(struct fit_msg_hdr)) {
dev_dbg(&skdev->pdev->dev, "sending msg=%p, len %d\n",
skmsg, skmsg->length);
skd_send_fitmsg(skdev, skmsg);
} else {
/*
* The FIT msg is empty. It means we got started
* on the msg, but the requests were rejected.
*/
skmsg->state = SKD_MSG_STATE_IDLE;
skmsg->id += SKD_ID_INCR;
skmsg->next = skdev->skmsg_free_list;
skdev->skmsg_free_list = skmsg;
}
/* If the FIT msg buffer is not empty send what we got. */
if (skmsg) {
WARN_ON_ONCE(!fmh->num_protocol_cmds_coalesced);
skd_send_fitmsg(skdev, skmsg);
skmsg = NULL;
fmh = NULL;
}
Expand Down

0 comments on commit fe4fd72

Please sign in to comment.