On 2013-06-12 12:22 AM, John Stultz wrote:
From: Minchan Kim <[email protected]>

This patch adds new system call sys_vrange.

NAME
        vrange - Mark or unmark range of memory as volatile

SYNOPSIS
        int vrange(unsigned_long start, size_t length, int mode,
                         int *purged);

DESCRIPTION
        Applications can use vrange(2) to advise the kernel how it should
        handle paging I/O in this VM area.  The idea is to help the kernel
        discard pages of vrange instead of reclaiming when memory pressure
        happens. It means kernel doesn't discard any pages of vrange if
        there is no memory pressure.

        mode:
        VRANGE_VOLATILE
                hint to kernel so VM can discard in vrange pages when
                memory pressure happens.
        VRANGE_NONVOLATILE
                hint to kernel so VM doesn't discard vrange pages
                any more.

        If user try to access purged memory without VRANGE_NOVOLATILE call,
        he can encounter SIGBUS if the page was discarded by kernel.

I wonder if it would be possible to provide additional information here, for example "purge range at a time" as opposed to "purge page at a time". There are some valid use cases for both approaches and it doesn't make sense to deny one use case.

Thanks!
Dhaval
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to