Messages in this thread | | | Date | Thu, 4 Apr 2019 15:46:31 +0000 | From | Christopher Lameter <> | Subject | Re: [RFC PATCH v2 14/14] dcache: Implement object migration |
| |
On Wed, 3 Apr 2019, Al Viro wrote:
> > This is an RFC and we want to know how to do this right. > > If by "how to do it right" you mean "expedit kicking out something with > non-zero refcount" - there's no way to do that. Nothing even remotely > sane.
Sure we know that.
> If you mean "kick out everything in this page with zero refcount" - that > can be done (see further in the thread).
Ok that would already be progress. If we can use this to liberate some slab pages with just a few dentry object then it may be worthwhile.
> Look, dentries and inodes are really, really not relocatable. If they > can be evicted by memory pressure - sure, we can do that for a given > set (e.g. "everything in that page"). But that's it - if memory > pressure would _not_ get rid of that one, there's nothing to be done. > Again, all VM can do is to simulate shrinker hitting hard on given > bunch (rather than buggering the entire cache). If filesystem (or > something in VFS) says "it's busy", it bloody well _is_ busy and > won't be going away until it ceases to be such.
Right. Thats why the patch attempted to check for these things to avoid touching such objects.
| |