Re: [PATCH 0/5] VFS: Directory level cache cleaning

From: Matthew Wilcox
Date: Mon Dec 16 2013 - 23:06:29 EST


On Tue, Dec 17, 2013 at 11:08:16AM +0800, Li Wang wrote:
> As far as we know, fadvise(DONTNEED) does not support metadata
> cache cleaning. We think that is desirable under massive small files
> situations. Another thing is that do people accept the behavior
> of feeding a directory fd to fadvise will recusively clean all
> page caches of files inside that directory?

I think there's a really good permissions-related question here.
If that's an acceptable interface, should one have to be CAP_SYS_ADMIN
to issue the request? What if some of the files below this directory
are not owned by the user issuing the request?

> On 2013/12/17 1:45, Cong Wang wrote:
>> On Mon, Dec 16, 2013 at 7:00 AM, Li Wang <liwang@xxxxxxxxxxxxxxx> wrote:
>>> This patch extend the 'drop_caches' interface to
>>> support directory level cache cleaning and has a complete
>>> backward compatibility. '{1,2,3}' keeps the same semantics
>>> as before. Besides, "{1,2,3}:DIRECTORY_PATH_NAME" is allowed
>>> to recursively clean the caches under DIRECTORY_PATH_NAME.
>>> For example, 'echo 1:/home/foo/jpg > /proc/sys/vm/drop_caches'
>>> will clean the page caches of the files inside 'home/foo/jpg'.
>>>
>>
>> This interface is ugly...
>>
>> And we already have a file-level drop cache, that is,
>> fadvise(DONTNEED). Can you extend it if it can't
>> handle a directory fd?
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/