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.