On 10/18/21 6:56 AM, Pavel Begunkov wrote: > On 10/17/21 01:37, Jens Axboe wrote: >> Use a singly linked list for the blk_plug. This saves 8 bytes in the >> blk_plug struct, and makes for faster list manipulations than doubly >> linked lists. As we don't use the doubly linked lists for anything, >> singly linked is just fine. >> >> This yields a bump in default (merging enabled) performance from 7.0 >> to 7.1M IOPS, and ~7.5M IOPS with merging disabled. > > block/blk-merge.c: In function ‘blk_attempt_plug_merge’: > block/blk-merge.c:1094:22: error: implicit declaration of function ‘rq_list_empty’; did you mean ‘bio_list_empty’? [-Werror=implicit-function-declaration] > 1094 | if (!plug || rq_list_empty(plug->mq_list)) > > > Also in blk-mq.c and others, and I don't see it defined anywhere. > Used just fetched for-5.16/block. Did I miss it somewhere? I forgot to include this prep patch: https://git.kernel.dk/cgit/linux-block/commit/?h=perf-wip&id=b3ca14988ce2eb125a8a80c3ee146f3ad55cfcf4 -- Jens Axboe