[PATCH v3 03/30] block: Remove req_bio_endio()
Damien Le Moal
dlemoal at kernel.org
Thu Mar 28 15:42:06 PDT 2024
On 3/29/24 06:28, Bart Van Assche wrote:
> On 3/27/24 5:43 PM, Damien Le Moal wrote:
>> Moving req_bio_endio() code into its only caller, blk_update_request(),
>> allows reducing accesses to and tests of bio and request fields. Also,
>> given that partial completions of zone append operations is not
>> possible and that zone append operations cannot be merged, the update
>> of the BIO sector using the request sector for these operations can be
>> moved directly before the call to bio_endio().
>
> Reviewed-by: Bart Van Assche <bvanassche at acm.org>
>
>> - if (unlikely(error && !blk_rq_is_passthrough(req) &&
>> - !(req->rq_flags & RQF_QUIET)) &&
>> - !test_bit(GD_DEAD, &req->q->disk->state)) {
>> + if (unlikely(error && !blk_rq_is_passthrough(req) && !quiet) &&
>> + !test_bit(GD_DEAD, &req->q->disk->state)) {
>
> A question that is independent of this patch series: is it a bug or is
> it a feature that the GD_DEAD bit test is not marked as "unlikely"?
likely/unlikely are optimizations... I guess that bit test could be under
unlikely() as well. Though if we are dealing with a removable media device, this
may not be appropriate, which may be why it is not under unlikely(). Not sure.
>
> Thanks,
>
> Bart.
--
Damien Le Moal
Western Digital Research
More information about the Linux-nvme
mailing list