[dm-devel] [PATCH 10/11] block: use block_bio class for getrq and sleeprq

Chaitanya Kulkarni Chaitanya.Kulkarni at wdc.com
Wed Jul 1 21:06:43 UTC 2020


On 6/30/20 11:19 PM, Christoph Hellwig wrote:
> On Wed, Jul 01, 2020 at 04:45:03AM +0000, Chaitanya Kulkarni wrote:
>> On 6/29/20 10:13 PM, Christoph Hellwig wrote:
>>> On Mon, Jun 29, 2020 at 04:43:13PM -0700, Chaitanya Kulkarni wrote:
>>>> The only difference in block_get_rq and block_bio was the last param
>>>> passed  __entry->nr_sector & bio->bi_iter.bi_size respectively. Since
>>>> that is not the case anymore replace block_get_rq class with block_bio
>>>> for block_getrq and block_sleeprq events, also adjust the code to handle
>>>> null bio case in block_bio.
>>> To me it seems like keeping the NULL bio case separate actually is a
>>> little simpler..
>>>
>>>
>> Keeping it separate will have an extra event class and related
>> event(s) for only handling null bio case.
>>
>> Also the block_get_rq class uses 4 comparisons with ?:.
>> This patch reduces it to only one comparison in fast path.
>>
>> With above explanation does it make sense to get rid of the
>> blk_get_rq ?
> Without this we don't need the request_queue argument to the bio
> class, as we can derive it from the bio, and don't have any
> conditionals at all.  I'd rather keep the special case with a
> queue and an optional bio separate.
> 

Okay.






More information about the dm-devel mailing list