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).
For background writes, we'll want to split WRITE into WRITE and
WRITE_BACKGROUND.
Alternatively, I can stop extending WRITE_SYNC for the other parts, and
only do the background part. But I think those parts makes sense.
I've already pointed out the problems associated with tagging async,
bulk writes as synchronous writes so that a lower layer can avoid
I think that's our miscommunication. It's not my intent to tag async
writes as sync. If we're doing reclaim, presumable someone is waiting
for those pages to be cleaned. Hence sync. Ditto for for_sync.
throttling them. Please add a new flag for communicating whether
writes can be throttled to the block layer instead of reusing
WRITE_SYNC.
If someone is waiting for them, they won't be throttled as hard
(WRITE_SYNC, WRITE_ODIRECT, etc). If someone is not waiting for them
(WRITE), then we can throttle a bit more.
That's my intent. We can add WRITE_BACKGROUND, but then we have one more
write type. Why not just leave WRITE as the background type of write?
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html