All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@fb.com>
To: Jan Kara <jack@suse.cz>
Cc: Dave Chinner <david@fromorbit.com>, <linux-block@vger.kernel.org>,
	<linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH 0/3] writeback: minor tweaks
Date: Thu, 14 Apr 2016 09:41:03 -0600	[thread overview]
Message-ID: <570FBA0F.80305@fb.com> (raw)
In-Reply-To: <20160413100754.GI15098@quack2.suse.cz>

On 04/13/2016 04:07 AM, Jan Kara wrote:
> On Tue 12-04-16 19:49:45, Jens Axboe wrote:
>> On 04/12/2016 06:08 PM, Dave Chinner wrote:
>>> On Tue, Apr 12, 2016 at 12:43:50PM -0600, Jens Axboe wrote:
>>>> Hi,
>>>>
>>>> Three top level patches out of the writeback throttling patchset, that
>>>> I think should make it into mainline. No functional changes in the
>>>> first two patches, and the last patch just bumps reclaim/sync
>>>> writeback to use WRITE_SYNC as a hint to the block layer.
>>>
>>> Whatever happened to adding a new flag to indicate that write
>>> requests can be throttled, rather than overloading WRITE_SYNC with
>>> yet another (conflicting) meaning?
>>
>> WRITE_SYNC means someone will be waiting for it. This just extends it to
>> cover more instances where that is the case (reclaim, for_sync).
>
> Well, the question really is how soon waiting for the write is warranting
> WRITE_SYNC? Someone waits (or will likely soon wait) for background
> writeback if we are close to dirty limit after all. Do we want WRITE_SYNC
> set also in that case? In your patch 3, you change the logic to issue
> WRITE_SYNC writes when for_reclaim or for_sync are set and these are IMHO
> questionable as well - for_reclaim just means that there are dirty pages
> near the end of LRU and thus MM blindly issues writeback requests and hopes
> things will improve. for_sync means we are doing the first pass of
> writeback for sync(2). In either of these cases I'm not sure prioritizing
> writes is a clear win for the system overall, although in both cases it
> makes some sense.

Yeah, I'm going to revert course on that a little bit. I'm refactoring 
to leave the SYNC part as it is, and adding an explicit 
WRITE_BACKGROUND. That allows me to throttle that explicitly fairly 
thoroughly, and throttle normal writes a bit less (and 
O_SYNC/O_DIRECT/etc not at all).

-- 
Jens Axboe


      reply	other threads:[~2016-04-14 15:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-12 18:43 [PATCH 0/3] writeback: minor tweaks Jens Axboe
2016-04-12 18:43 ` [PATCH 1/3] writeback: propagate the various reasons for writeback Jens Axboe
2016-04-13  9:48   ` Jan Kara
2016-04-14 15:43     ` Jens Axboe
2016-04-17 12:01       ` Jan Kara
2016-04-12 18:43 ` [PATCH 2/3] writeback: add wbc_to_write() Jens Axboe
2016-04-13  9:50   ` Jan Kara
2016-04-14 15:41     ` Jens Axboe
2016-04-12 18:43 ` [PATCH 3/3] writeback: use WRITE_SYNC for reclaim or sync writeback Jens Axboe
2016-04-13  0:08 ` [PATCH 0/3] writeback: minor tweaks Dave Chinner
2016-04-13  1:49   ` Jens Axboe
2016-04-13  6:09     ` Dave Chinner
2016-04-13 10:07     ` Jan Kara
2016-04-14 15:41       ` Jens Axboe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=570FBA0F.80305@fb.com \
    --to=axboe@fb.com \
    --cc=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.