Re: [RFC PATCH] mm: fadvise: avoid fadvise for fs without backing device

From: Shakeel Butt
Date: Fri Aug 25 2017 - 20:23:06 EST


On Fri, Aug 25, 2017 at 2:49 PM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 17 Aug 2017 18:20:17 -0700 Shakeel Butt <shakeelb@xxxxxxxxxx> wrote:
>
>> +linux-mm, linux-kernel
>>
>> On Thu, Aug 17, 2017 at 6:10 PM, Shakeel Butt <shakeelb@xxxxxxxxxx> wrote:
>> > The fadvise() manpage is silent on fadvise()'s effect on
>> > memory-based filesystems (shmem, hugetlbfs & ramfs) and pseudo
>> > file systems (procfs, sysfs, kernfs). The current implementaion
>> > of fadvise is mostly a noop for such filesystems except for
>> > FADV_DONTNEED which will trigger expensive remote LRU cache
>> > draining. This patch makes the noop of fadvise() on such file
>> > systems very explicit.
>> >
>> > However this change has two side effects for ramfs and one for
>> > tmpfs. First fadvise(FADV_DONTNEED) can remove the unmapped clean
>> > zero'ed pages of ramfs (allocated through read, readahead & read
>> > fault) and tmpfs (allocated through read fault). Also
>> > fadvise(FADV_WILLNEED) on create such clean zero'ed pages for
>> > ramfs.
>
> That sentence makes no sense. I assume "fadvise(FADV_WILLNEED) will
> create"?
>

Sorry about that, it should be "fadvise(FADV_WILLNEED) can create".

>