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.