Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-06 Thread Jens Axboe
On 6/5/20 6:33 PM, Sedat Dilek wrote: > On Fri, Jun 5, 2020 at 11:24 PM Jens Axboe wrote: >> >> On 6/5/20 3:13 PM, Jens Axboe wrote: >>> On 6/5/20 2:53 PM, Jens Axboe wrote: On 6/5/20 2:36 PM, Andres Freund wrote: > Hi, > > On 2020-06-05 13:20:28 -0700, Andres Freund wrote:

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Sedat Dilek
On Fri, Jun 5, 2020 at 11:24 PM Jens Axboe wrote: > > On 6/5/20 3:13 PM, Jens Axboe wrote: > > On 6/5/20 2:53 PM, Jens Axboe wrote: > >> On 6/5/20 2:36 PM, Andres Freund wrote: > >>> Hi, > >>> > >>> On 2020-06-05 13:20:28 -0700, Andres Freund wrote: > I'll go and try to figure out why I

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
Hi, On 2020-06-05 16:56:44 -0600, Jens Axboe wrote: > On 6/5/20 4:54 PM, Andres Freund wrote: > > On 2020-06-05 16:49:24 -0600, Jens Axboe wrote: > >> 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

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
On 6/5/20 4:54 PM, Andres Freund wrote: > Hi, > > On 2020-06-05 16:49:24 -0600, Jens Axboe wrote: >> 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

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
Hi, On 2020-06-05 16:49:24 -0600, Jens Axboe wrote: > 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

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
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

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
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

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
Hi, 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

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
On 6/5/20 3:13 PM, Jens Axboe wrote: > On 6/5/20 2:53 PM, Jens Axboe wrote: >> On 6/5/20 2:36 PM, Andres Freund wrote: >>> Hi, >>> >>> On 2020-06-05 13:20:28 -0700, Andres Freund wrote: I'll go and try to figure out why I don't see an oops... >>> >>> Err, that probably was a typo on my end in

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
On 6/5/20 2:53 PM, Jens Axboe wrote: > On 6/5/20 2:36 PM, Andres Freund wrote: >> Hi, >> >> On 2020-06-05 13:20:28 -0700, Andres Freund wrote: >>> I'll go and try to figure out why I don't see an oops... >> >> Err, that probably was a typo on my end in the serial console >> config. After fixing

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
On 6/5/20 2:36 PM, Andres Freund wrote: > Hi, > > On 2020-06-05 13:20:28 -0700, Andres Freund wrote: >> I'll go and try to figure out why I don't see an oops... > > Err, that probably was a typo on my end in the serial console > config. After fixing that, I did get the below. > > If helpful I

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
Hi, On 2020-06-05 13:20:28 -0700, Andres Freund wrote: > I'll go and try to figure out why I don't see an oops... Err, that probably was a typo on my end in the serial console config. After fixing that, I did get the below. If helpful I can try with debugging enabled or such. [ 67.910265]

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
On 6/5/20 2:20 PM, Andres Freund wrote: > Hi, > > On 2020-06-05 08:42:28 -0600, Jens Axboe wrote: >> Can you try with async-buffered.7? I've rebased it on a new mechanism, >> and doing something like what you describe above I haven't been able >> to trigger anything bad. I'd try your test case

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
Hi, On 2020-06-05 08:42:28 -0600, Jens Axboe wrote: > Can you try with async-buffered.7? I've rebased it on a new mechanism, > and doing something like what you describe above I haven't been able > to trigger anything bad. I'd try your test case specifically, so do let > know if it's something I

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Andres Freund
Hi, On 2020-06-03 18:30:45 -0700, Andres Freund wrote: > > I'll try and reproduce this, any chance you have a test case that can > > be run so I don't have to write one from scratch? The more detailed > > instructions the better. > > It shouldn't be too hard to write you a detailed script for

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-05 Thread Jens Axboe
On 6/3/20 7:04 PM, Jens Axboe wrote: > On 6/3/20 6:59 PM, Andres Freund wrote: >> Hi, >> >> I was trying to benchmark the benefits of this for the io_uring using >> postgres I am working on. The initial results where quite promising >> (reducing cpu usage significantly, to lower than non-uring

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-03 Thread Andres Freund
Hi, On 2020-06-03 19:04:17 -0600, Jens Axboe wrote: > > The workload that triggers the bug within a few seconds is postgres > > doing a parallel sequential scan of a large table (and aggregating the > > data, but that shouldn't matter). In the triggering case that boils down > > to 9 processes

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-03 Thread Jens Axboe
On 6/3/20 6:59 PM, Andres Freund wrote: > Hi, > > I was trying to benchmark the benefits of this for the io_uring using > postgres I am working on. The initial results where quite promising > (reducing cpu usage significantly, to lower than non-uring sync io). But > unfortunately trying another

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Sedat Dilek
On Mon, Jun 1, 2020 at 4:46 PM Jens Axboe wrote: > > On 6/1/20 8:43 AM, Sedat Dilek wrote: > > On Mon, Jun 1, 2020 at 4:35 PM Jens Axboe wrote: > >> > >> On 6/1/20 8:14 AM, Jens Axboe wrote: > >>> On 6/1/20 8:13 AM, Sedat Dilek wrote: > On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: >

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Sedat Dilek
On Mon, Jun 1, 2020 at 4:46 PM Jens Axboe wrote: > > On 6/1/20 8:43 AM, Sedat Dilek wrote: > > On Mon, Jun 1, 2020 at 4:35 PM Jens Axboe wrote: > >> > >> On 6/1/20 8:14 AM, Jens Axboe wrote: > >>> On 6/1/20 8:13 AM, Sedat Dilek wrote: > On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: >

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Jens Axboe
On 6/1/20 8:43 AM, Sedat Dilek wrote: > On Mon, Jun 1, 2020 at 4:35 PM Jens Axboe wrote: >> >> On 6/1/20 8:14 AM, Jens Axboe wrote: >>> On 6/1/20 8:13 AM, Sedat Dilek wrote: On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: > > On 6/1/20 7:35 AM, Sedat Dilek wrote: >> Hi Jens,

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Sedat Dilek
On Mon, Jun 1, 2020 at 4:35 PM Jens Axboe wrote: > > On 6/1/20 8:14 AM, Jens Axboe wrote: > > On 6/1/20 8:13 AM, Sedat Dilek wrote: > >> On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: > >>> > >>> On 6/1/20 7:35 AM, Sedat Dilek wrote: > Hi Jens, > > with Linux v5.7 final I

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Jens Axboe
On 6/1/20 8:14 AM, Jens Axboe wrote: > On 6/1/20 8:13 AM, Sedat Dilek wrote: >> On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: >>> >>> On 6/1/20 7:35 AM, Sedat Dilek wrote: Hi Jens, with Linux v5.7 final I switched to linux-block.git/for-next and reverted...

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Jens Axboe
On 6/1/20 8:13 AM, Sedat Dilek wrote: > On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: >> >> On 6/1/20 7:35 AM, Sedat Dilek wrote: >>> Hi Jens, >>> >>> with Linux v5.7 final I switched to linux-block.git/for-next and reverted... >>> >>> "block: read-ahead submission should imply no-wait as

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Sedat Dilek
On Mon, Jun 1, 2020 at 4:04 PM Jens Axboe wrote: > > On 6/1/20 7:35 AM, Sedat Dilek wrote: > > Hi Jens, > > > > with Linux v5.7 final I switched to linux-block.git/for-next and reverted... > > > > "block: read-ahead submission should imply no-wait as well" > > > > ...and see no boot-slowdowns. >

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Jens Axboe
On 6/1/20 7:35 AM, Sedat Dilek wrote: > Hi Jens, > > with Linux v5.7 final I switched to linux-block.git/for-next and reverted... > > "block: read-ahead submission should imply no-wait as well" > > ...and see no boot-slowdowns. Can you try with these patches applied instead? Or pull my

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-06-01 Thread Sedat Dilek
Hi Jens, with Linux v5.7 final I switched to linux-block.git/for-next and reverted... "block: read-ahead submission should imply no-wait as well" ...and see no boot-slowdowns. Regards, - Sedat -

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-31 Thread Sedat Dilek
On Sun, May 31, 2020 at 9:04 AM Sedat Dilek wrote: > > On Sun, May 31, 2020 at 3:57 AM Jens Axboe wrote: > > > > On 5/30/20 12:57 PM, Sedat Dilek wrote: > > > Here are the numbers with your patchset: > > > > > > # cat systemd-analyze-time_5.7.0-rc7-4-amd64-clang_2nd-try.txt > > > Startup

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-30 Thread Jens Axboe
On 5/30/20 12:57 PM, Sedat Dilek wrote: > Here are the numbers with your patchset: > > # cat systemd-analyze-time_5.7.0-rc7-4-amd64-clang_2nd-try.txt > Startup finished in 7.229s (kernel) + 1min 18.304s (userspace) = 1min 25.534s > graphical.target reached after 1min 18.286s in userspace Can you

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-30 Thread Sedat Dilek
Here are the numbers with your patchset: # cat systemd-analyze-time_5.7.0-rc7-4-amd64-clang_2nd-try.txt Startup finished in 7.229s (kernel) + 1min 18.304s (userspace) = 1min 25.534s graphical.target reached after 1min 18.286s in userspace # cat

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-30 Thread Sedat Dilek
> Time to experience with ZRAM :-). I switched over from swap-file to zramswap. And I can definitely say, my last kernel w/o your patchset does not show the symptoms. # cat systemd-analyze-time_5.7.0-rc7-2-amd64-clang_2nd-try.txt Startup finished in 6.129s (kernel) + 44.192s (userspace) =

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-29 Thread Sedat Dilek
On Fri, May 29, 2020 at 12:02 PM Sedat Dilek wrote: [ ... ] > As I saw stallings with e2scrub_reap.service and swap partition > (partly seen in the boot-process and noted the UUID 3f8e). > I disabled e2scrub_reap.service and deactivated swap partition in /etc/fstab. > I switched over from

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-29 Thread Sedat Dilek
[ ... ] > > Hi Jens, > > > > I have pulled linux-block.git#async-buffered.5 on top of Linux v5.7-rc7. > > > > From first feelings: > > The booting into the system (until sddm display-login-manager) took a > > bit longer. > > The same after login and booting into KDE/Plasma. > > There is no

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-28 Thread Sedat Dilek
On Thu, May 28, 2020 at 7:14 PM Jens Axboe wrote: > > On 5/28/20 11:12 AM, Sedat Dilek wrote: > > On Thu, May 28, 2020 at 7:06 PM Jens Axboe wrote: > >> > >> On 5/28/20 11:02 AM, Sedat Dilek wrote: > >>> On Tue, May 26, 2020 at 10:59 PM Jens Axboe wrote: > > We technically support

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-28 Thread Jens Axboe
On 5/28/20 11:12 AM, Sedat Dilek wrote: > On Thu, May 28, 2020 at 7:06 PM Jens Axboe wrote: >> >> On 5/28/20 11:02 AM, Sedat Dilek wrote: >>> On Tue, May 26, 2020 at 10:59 PM Jens Axboe wrote: We technically support this already through io_uring, but it's implemented with a thread

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-28 Thread Sedat Dilek
On Thu, May 28, 2020 at 7:06 PM Jens Axboe wrote: > > On 5/28/20 11:02 AM, Sedat Dilek wrote: > > On Tue, May 26, 2020 at 10:59 PM Jens Axboe wrote: > >> > >> We technically support this already through io_uring, but it's > >> implemented with a thread backend to support cases where we would >

Re: [PATCHSET v5 0/12] Add support for async buffered reads

2020-05-28 Thread Jens Axboe
On 5/28/20 11:02 AM, Sedat Dilek wrote: > On Tue, May 26, 2020 at 10:59 PM Jens Axboe wrote: >> >> We technically support this already through io_uring, but it's >> implemented with a thread backend to support cases where we would >> block. This isn't ideal. >> >> After a few prep patches, the

[PATCHSET v5 0/12] Add support for async buffered reads

2020-05-26 Thread Jens Axboe
We technically support this already through io_uring, but it's implemented with a thread backend to support cases where we would block. This isn't ideal. After a few prep patches, the core of this patchset is adding support for async callbacks on page unlock. With this primitive, we can simply