[LTP] [PATCH v1] readahead02.c: Use fsync instead of sync

Cyril Hrubis chrubis@suse.cz
Tue Jan 17 17:33:36 CET 2023


Hi!
> > The motivation of this change is base on the https://github.com/linux-test-project/ltp/issues/972
> > which give following suggestion:
> > "As we run the test inside a loop device I guess that we can also 
> > sync and drop caches just for the device, which should be faster 
> > than syncing and dropping the whole system. Possibly we just need 
> > to umount it and mount it again."
> 
> I see. Well unless Cyril can show that the test is actually failing
> somewhere (or there is a strong logical argument this will cause a
> failure). Then this task is still valid, but low priority IMO.

We do sync more than needed here, since we are looking at the per device
counters we have to sync just the device we mount for the test, so this
is optimization for the case that the system has many dirty cases and
will need seconds or a minute to write them to the pernament storage.

> > But currently i can not find any API to sync and drop caches just 
> > ONLY for device, so base my view just replace sync whole 
> > system to single file also can make a small help.
> 
> If we don't have one or more concrete failures to focus on then we
> really have to research whether fsync (or syncfs FYI) or unmounting the
> device are the correct thing to do. They will all have subtly different
> effects.

Looking at the code closely I'm starting to think that the sync is not
required at all. What we do in the test is that we create file and sync
it to the external storage. Then we read it a few times and mesure
differences in cache. As far as I can tell we just need to drop the page
cache after we have read the file. What do you think?

In any case I would avoid changing the test before the release, but it's
certainly something we can look at after that.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list