Re: [PATCH] block: don't call should_fail_request() for !CONFIG_FAIL_MAKE_REQUEST

Bart Van Assche
2021-10-05T17:04:28Z

On 10/5/21 8:32 AM, Jens Axboe wrote:
> Unnecessary function call, if we don't have that specific configuration
> option enabled.
>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
>
> ---
>
> diff --git a/block/blk-core.c b/block/blk-core.c
> index 5454db2fa263..a267f11f55cb 100644
> --- a/block/blk-core.c
> +++ b/block/blk-core.c
> @@ -697,8 +697,10 @@ static inline bool bio_check_ro(struct bio *bio)
>
> static noinline int should_fail_bio(struct bio *bio)
> {
> +#ifdef CONFIG_FAIL_MAKE_REQUEST
> if (should_fail_request(bdev_whole(bio->bi_bdev), bio->bi_iter.bi_size))
> return -EIO;
> +#endif
> return 0;
> }
> ALLOW_ERROR_INJECTION(should_fail_bio, ERRNO);

Has the performance impact of this patch been measured? I'm asking because I
found the following in blk-core.c:

#ifdef CONFIG_FAIL_MAKE_REQUEST
[ ... ]
#else /* CONFIG_FAIL_MAKE_REQUEST */
static inline bool should_fail_request(struct block_device *part,
unsigned int bytes)
{
return false;
}
#endif /* CONFIG_FAIL_MAKE_REQUEST */

Thanks,

Bart.