On 6/5/20 4:36 PM, Andres Freund wrote: > Hi, > > On 2020-06-05 15:30:44 -0700, Andres Freund wrote: >> On 2020-06-05 15:21:34 -0600, Jens Axboe wrote: >>>>> I can reproduce this, and I see what it is. I'll send out a patch soonish. >>>> >>>> Thinko, can you try with this on top? >>> >>> Sorry that was incomplete, please use this one! >> >> That seems to fix it! Yay. >> >> >> Bulk buffered reads somehow don't quite seem to be performing that well >> though, looking into it. Could be on the pg side too. > > While looking into that, I played with setting > /sys/<dev>/queue/read_ahead_kb to 0 and noticed that seems to result in > all/most IO done in workers. Is that to be expected? Yes that's expected, if we have to fallback to ->readpage(), then it'll go to a worker. read-ahead is what drives the async nature of it, as we issue the range (plus more, depending on RA window) as read-ahead for the normal read, then wait for it. -- Jens Axboe