Re: fadvise DONTNEED implementation (or lack thereof)
From: Minchan Kim
Date: Mon Nov 15 2010 - 04:05:26 EST
On Mon, Nov 15, 2010 at 5:47 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Mon, 2010-11-15 at 15:07 +0900, Minchan Kim wrote:
>> On Sun, Nov 14, 2010 at 2:09 PM, KOSAKI Motohiro
>> <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
>> >> On Tue, 9 Nov 2010 16:28:02 +0900 (JST), KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
>> >> > So, I don't think application developers will use fadvise() aggressively
>> >> > because we don't have a cross platform agreement of a fadvice behavior.
>> >> >
>> >> I strongly disagree. For a long time I have been trying to resolve
>> >> interactivity issues caused by my rsync-based backup script. Many kernel
>> >> developers have said that there is nothing the kernel can do without
>> >> more information from user-space (e.g. cgroups, madvise). While cgroups
>> >> help, the fix is round-about at best and requires configuration where
>> >> really none should be necessary. The easiest solution for everyone
>> >> involved would be for rsync to use FADV_DONTNEED. The behavior doesn't
>> >> need to be perfectly consistent between platforms for the flag to be
>> >> useful so long as each implementation does something sane to help
>> >> use-once access patterns.
>> >>
>> >> People seem to mention frequently that there are no users of
>> >> FADV_DONTNEED and therefore we don't need to implement it. It seems like
>> >> this is ignoring an obvious catch-22. Currently rsync has no fadvise
>> >> support at all, since using[1] the implemented hints to get the desired
>> >> effect is far too complicated^M^M^M^Mhacky to be considered
>> >> merge-worthy. Considering the number of Google hits returned for
>> >> fadvise, I wouldn't be surprised if there were countless other projects
>> >> with this same difficulty. We want to be able to tell the kernel about
>> >> our useage patterns, but the kernel won't listen.
>> >
>> > Because we have an alternative solution already. please try memcgroup :)
>
> Using memcgroup for this is utter crap, it just contains the trainwreck,
> it doesn't solve it in any way.
>
>> I think memcg could be a solution of them but fundamental solution is
>> that we have to cure it in VM itself.
>> I feel it's absolutely absurd to enable and use memcg for amending it.
>
> Agreed..
>
>> I wonder what's the problem in Peter's patch 'drop behind'.
>> http://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg179576.html
>>
>> Could anyone tell me why it can't accept upstream?
>
> Read the thread, its quite clear nobody got convinced it was a good idea
> and wanted to fix the use-once policy, then Rik rewrote all of
> page-reclaim.
>
Thanks for the information.
I hope this is a chance to rethink about it.
Rik, Could you give us to any comment about this idea?
--
Kind regards,
Minchan Kim
--
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/