On 2019/3/30 下午8:57, Supercilious Dude wrote: > Hi, > > This would give a false positive on any controller with a cache as all > requests would take 0ms until the cache is full and the controller has > to actually flush to disk. I'm purposing to measure the execution time of flush/fsync, not write. And if flush takes 0ms, it means it doesn't really write cached data onto disk. Thanks, Qu > I am using an HP P841 controller in my test > system and it has a 4GB cache making every IO instant unless there are > enough of them that they can't be flushed to the disks as quickly as > they come in - the latency variation is huge depending on load. > > Regards > > On Sat, 30 Mar 2019 at 12:34, Qu Wenruo <quwenruo.btrfs@xxxxxxx> wrote: >> >> Hi, >> >> I'm wondering if it's possible that certain physical device doesn't >> handle flush correctly. >> >> E.g. some vendor does some complex logical in their hdd controller to >> skip certain flush request (but not all, obviously) to improve performance? >> >> Do anyone see such reports? >> >> And if proves to happened before, how do we users detect such problem? >> >> Can we just check the flush time against the write before flush call? >> E.g. write X random blocks into that device, call fsync() on it, check >> the execution time. Repeat Y times, and compare the avg/std. >> And change X to 2X/4X/..., repeat above check. >> >> Thanks, >> Qu >> >>
Attachment:
signature.asc
Description: OpenPGP digital signature