Messages in this thread | | | Date | Tue, 1 May 2012 10:08:15 +1000 | From | Dave Chinner <> | Subject | Re: [PATCH 2/3] fadvise: Add _VOLATILE,_ISVOLATILE, and _NONVOLATILE flags |
| |
On Mon, Apr 30, 2012 at 02:07:16PM -0700, John Stultz wrote: > On 04/27/2012 06:36 PM, Dave Chinner wrote: > >That's my concern - that persistent filesystems will have different > >behaviour to in-memory filesystems. They *must* be consistent in > >behaviour w.r.t. to stale data exposure, otherwise we are in a world > >of pain when applications start to use this. Quite frankly, I don't > >care about performance of VOLATILE ranges, but I care greatly > >about ensuring filesystems don't expose stale data to user > >applications.... > > > I think we're in agreement with the rest of this email, but I do > want to stress that the performance of volatile ranges will become > more ciritical, as in order for folks to effectively use them, they > need to be able to mark and unmark ranges any time they're not using > the data.
Performance is far less important than data security. Make it safe first, then optimise performance. As it is, the initial target of tmpfs - by it's very nature of returning zeros for regions not backed by pages - is safe w.r.t. stale data exposure, so it will not be slowed down by using an fallocate "best effort" hole-punching interface. The performance of other filesystems is something that the relevant filesystem developers can worry about....
> So if the overhead is too great for marking and unmarking pages, > applications will be less likely to "help out". :)
Devil's Advocate: If the benefit of managing caches in such a manner is this marginal, then why add the complexity to the kernel?
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
| |