On 09/16/2016 10:34 AM, Fabrice Bacchella wrote:
Le 16 sept. 2016 à 17:23, Jens Axboe <axboe@xxxxxxxxx> a écrit :
On 09/15/2016 08:23 AM, Fabrice Bacchella wrote:
Is there any plan to support it ?
What kind of use case did you have in mind? Dropping pages after writing
them? That basically boils down to being a non data integrity fdatasync.
You would get basically the same effect by using fdatasync=1 in your
workload. The difference would mainly be that DONTNEED would factor in
the range and offset. So if you have multiple writers on the same file,
then there would be a difference in behavior.
That said, I don't mind adding support for using DONTNEED specifically.
Currently it's just used to set a permanent hint, which is why it's only
done once. For DONTNEED, you'd want to call it after each write instead.
I was thinking about read. When you have servers with huge amount of
memory, either you reboot then with mem=<less>G or run bench with huge
datasets. Both are clumsy solutions. directio is not a very good
solution either, it's a very specific think that don't match not cached
data. Using DONTNEED allows to simulate (I hope) a "bigger that RAM"
data set.
You could also just use lockmem= to pin down some memory, it basically
has the same effect as booting with mem= to reduce the memory available
for caching.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html