On 10/30/20 6:46 AM, Pavel Begunkov wrote: > On 28/10/2020 14:18, Jens Axboe wrote: >> On 10/27/20 5:25 PM, Pavel Begunkov wrote: >>> v2: split the meat patch. >>> >>> I did not re-benchmark it, but as stated before: 5030 vs 5160 KIOPS by a >>> naive (consistent) nop benchmark that submits 32 linked nops and then >>> submits them in a loop. Worth trying with some better hardware. >> >> Applied for 5.11 - I'll give it a spin here too and see if I find any >> improvements. But a smaller io_kiocb is always a win. > > Might be a good time for a generic single list. There are at least 3 > places I remember: bio, io-wq, io_uring Yes, kind of weird that we don't have one. There's the normal doubly linked one, and then there's the single head for hash tables. But I could not find anything good for io-wq, which is why I rolled my own. Would be nice to turn it into a generic one and reuse it everywhere (and I bet it would grow more users). The lockless lists (llist) is singular, but overkill if you already have locking you're under. -- Jens Axboe