Re: [PATCH 0/3] writeback: minor tweaks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux