Re: [PATCH 05/14] vrange: Add new vrange(2) system call

Minchan Kim
2013-10-08T00:11:53Z

Hello Peter,

On Mon, Oct 07, 2013 at 04:59:40PM -0700, H. Peter Anvin wrote:
> On 10/07/2013 04:54 PM, John Stultz wrote:
> >>>
> >> And wouldn't this apply to MADV_DONTNEED just as well? Perhaps what we
> >> should do is an enhanced madvise() call?
> > Well, I think MADV_DONTNEED doesn't *have* do to anything at all. Its
> > advisory after all. So it may immediately wipe out any data, but it may not.
> >
> > Those advisory semantics work fine w/ VRANGE_VOLATILE. However,
> > VRANGE_NONVOLATILE is not quite advisory, its telling the system that it
> > requires the memory at the specified range to not be volatile, and we
> > need to correctly inform userland how much was changed and if any of the
> > memory we did change to non-volatile was purged since being set volatile.
> >
> > In that way it is sort of different from madvise. Some sort of an
> > madvise2 could be done, but then the extra purge state argument would be
> > oddly defined for any other mode.
> >
> > Is your main concern here just wanting to have a zero-fill mode with
> > volatile ranges? Or do you really want to squeeze this in to the madvise
> > call interface?
>
> The point is that MADV_DONTNEED is very similar in that sense,
> especially if allowed to be lazy. It makes a lot of sense to permit
> both scrubbing modes orthogonally.
>
> The point you're making has to do with withdrawal of permission to flush
> on demand, which is a result of having the lazy mode (ongoing
> permission) and having to be able to withdraw such permission.

I'm sorry I could not understand what you wanted to say.
Could you elaborate a bit?

Thanks.

>
> -0hpa
>
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: email@kvack.org

--
Kind regards,
Minchan Kim