Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-20 Thread Jan Kara
On Tue 19-09-17 22:13:25, Jens Axboe wrote: > On 09/19/2017 09:10 PM, Amir Goldstein wrote: > New version: > > http://git.kernel.dk/cgit/linux-block/commit/?h=writeback-fixup=338a69c217cdaaffda93f3cc9a364a347f782adb This looks good to me. You can add: Reviewed-by: Jan Kara

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-20 Thread Jan Kara
On Tue 19-09-17 22:13:25, Jens Axboe wrote: > On 09/19/2017 09:10 PM, Amir Goldstein wrote: > New version: > > http://git.kernel.dk/cgit/linux-block/commit/?h=writeback-fixup=338a69c217cdaaffda93f3cc9a364a347f782adb This looks good to me. You can add: Reviewed-by: Jan Kara

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-20 Thread Jens Axboe
On 09/20/2017 12:05 AM, Amir Goldstein wrote: > On Wed, Sep 20, 2017 at 7:13 AM, Jens Axboe wrote: >> On 09/19/2017 09:10 PM, Amir Goldstein wrote: >>> On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: A few callers pass in nr_pages == 0 when they wakeup

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-20 Thread Jens Axboe
On 09/20/2017 12:05 AM, Amir Goldstein wrote: > On Wed, Sep 20, 2017 at 7:13 AM, Jens Axboe wrote: >> On 09/19/2017 09:10 PM, Amir Goldstein wrote: >>> On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: A few callers pass in nr_pages == 0 when they wakeup the flusher threads, which

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-20 Thread Amir Goldstein
On Wed, Sep 20, 2017 at 7:13 AM, Jens Axboe wrote: > On 09/19/2017 09:10 PM, Amir Goldstein wrote: >> On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: >>> A few callers pass in nr_pages == 0 when they wakeup the flusher >>> threads, which means that the

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-20 Thread Amir Goldstein
On Wed, Sep 20, 2017 at 7:13 AM, Jens Axboe wrote: > On 09/19/2017 09:10 PM, Amir Goldstein wrote: >> On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: >>> A few callers pass in nr_pages == 0 when they wakeup the flusher >>> threads, which means that the flusher should just flush everything

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Jens Axboe
On 09/19/2017 09:10 PM, Amir Goldstein wrote: > On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: >> A few callers pass in nr_pages == 0 when they wakeup the flusher >> threads, which means that the flusher should just flush everything >> that was currently dirty. If we are

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Jens Axboe
On 09/19/2017 09:10 PM, Amir Goldstein wrote: > On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: >> A few callers pass in nr_pages == 0 when they wakeup the flusher >> threads, which means that the flusher should just flush everything >> that was currently dirty. If we are tight on memory, we

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Amir Goldstein
On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: > A few callers pass in nr_pages == 0 when they wakeup the flusher > threads, which means that the flusher should just flush everything > that was currently dirty. If we are tight on memory, we can get > tons of these queued

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Amir Goldstein
On Tue, Sep 19, 2017 at 10:53 PM, Jens Axboe wrote: > A few callers pass in nr_pages == 0 when they wakeup the flusher > threads, which means that the flusher should just flush everything > that was currently dirty. If we are tight on memory, we can get > tons of these queued from kswapd/vmscan.

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Jens Axboe
On 09/19/2017 01:53 PM, Jens Axboe wrote: > @@ -948,15 +949,25 @@ static void wb_start_writeback(struct bdi_writeback > *wb, long nr_pages, > bool range_cyclic, enum wb_reason reason) > { > struct wb_writeback_work *work; > + bool zero_pages = false; > >

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Jens Axboe
On 09/19/2017 01:53 PM, Jens Axboe wrote: > @@ -948,15 +949,25 @@ static void wb_start_writeback(struct bdi_writeback > *wb, long nr_pages, > bool range_cyclic, enum wb_reason reason) > { > struct wb_writeback_work *work; > + bool zero_pages = false; > >

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Jens Axboe
On 09/19/2017 02:18 PM, Johannes Weiner wrote: > On Tue, Sep 19, 2017 at 01:53:07PM -0600, Jens Axboe wrote: >> A few callers pass in nr_pages == 0 when they wakeup the flusher >> threads, which means that the flusher should just flush everything >> that was currently dirty. If we are tight on

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Jens Axboe
On 09/19/2017 02:18 PM, Johannes Weiner wrote: > On Tue, Sep 19, 2017 at 01:53:07PM -0600, Jens Axboe wrote: >> A few callers pass in nr_pages == 0 when they wakeup the flusher >> threads, which means that the flusher should just flush everything >> that was currently dirty. If we are tight on

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Johannes Weiner
On Tue, Sep 19, 2017 at 01:53:07PM -0600, Jens Axboe wrote: > A few callers pass in nr_pages == 0 when they wakeup the flusher > threads, which means that the flusher should just flush everything > that was currently dirty. If we are tight on memory, we can get > tons of these queued from

Re: [PATCH 6/6] fs-writeback: only allow one inflight and pending !nr_pages flush

2017-09-19 Thread Johannes Weiner
On Tue, Sep 19, 2017 at 01:53:07PM -0600, Jens Axboe wrote: > A few callers pass in nr_pages == 0 when they wakeup the flusher > threads, which means that the flusher should just flush everything > that was currently dirty. If we are tight on memory, we can get > tons of these queued from