On 11/16/18 8:19 AM, Jens Axboe wrote: > On 11/16/18 1:43 AM, Christoph Hellwig wrote: >> On Thu, Nov 15, 2018 at 12:51:31PM -0700, Jens Axboe wrote: >>> If we want to support async IO polling, then we have to allow >>> finding completions that aren't just for the one we are >>> looking for. Always pass in -1 to the mq_ops->poll() helper, >>> and have that return how many events were found in this poll >>> loop. >> >> Well, if we always put -1 in we can as well remove the argument, >> especially given that you change the prototype in the patch before >> this one. >> >> Still digesting the rest of this. > > We can remove the argument for the mq_ops->poll, as long as we > retain it for the q->poll. For the latter, we need it for > destination lookup. Alright, went over this. I killed the nvme-fc poll implementation, it isn't very useful at all. I fixed up the RDMA polling to work fine with this, and then I killed the parameter. It's all in my mq-perf branch, I believe now it should be palatable and good to go. Meat of it: http://git.kernel.dk/cgit/linux-block/commit/?h=mq-perf&id=fee7a35981777e5df508baaacebff50147aad966 and removal: http://git.kernel.dk/cgit/linux-block/commit/?h=mq-perf&id=bec293e546c6c7b01a276998a287427ba7e8b775 -- Jens Axboe