Re: Writeback efficiency -- proposal

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

 



Vojtech & Coly---

Thanks for feedback!

On Wed, Sep 20, 2017 at 1:08 AM, Vojtech Pavlik <vojtech@xxxxxxxx> wrote:
> On RAID devices, bcache attempts writing out full RAID stripes, avoiding
> the issue you describe.
>
> It might make sense to extend that logic to non-striped devices, too.

Yes-- it tries to write full stripes.  OTOH it doesn't favor
contiguous sets of full-stripes, and if there's not a lot of
full-stripes (500-- fairly unlikely, especially with sequential I/O
bypassing the cache) it falls back to the other behavior and will
happily pick the smallest blocks.  So it's still not seek minimized in
either case.

The data structure used for full-stripes would be not too bad to scan
to look for very large chunks.  I am not sure if we should, though, as
it is likely to destroy the LBA-ordering properties.  That is, there's
a definite tradeoff between trying to do the I/O in order and trying
to do the biggest I/Os.

For now I think I am going to put the heuristic in the fallback
(not-striped) case-- so on a striped array, first we'll search the
entire disk for full-stripes, then try to get bigger-than-average
reads, and finally fall back to anything we find on the way.

>> [snip]

> It doesn't sound wrong. :)
>
> Vojtech

Awesome.  :D I have some preliminary measurement that this is a win--
I'll work on getting a good patchset together some time in the next
week.

Thanks,

Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux