Skip to content

RFC vmpressure_fd: Linux VM pressure notifications

Anton Vorontsov linux-man linux-mm lkml 1 version In review

Get series with b4
b4 am 20121107105348.GA25549@lizard

Versions newest first

  1. v3 RFC Latest3 patches 49 repliesIn review

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3mm: Add VM pressure notificationsDocumentation/sysctl/vm.txt arch/x86/syscalls/syscall_64.tbl include/linux/syscalls.h +7 more+461 -03 replies
2/3tools/testing: Add vmpressure-test utilitytools/testing/vmpressure/.gitignore tools/testing/vmpressure/Makefile tools/testing/vmpressure/vmpressure-test.c+124 -00 replies
3/3man-pages: Add man page for vmpressure_fd(2)man2/vmpressure_fd.2+163 -07 replies

Reviews trailers per patch

1 of 3 patches has a Reviewed-by or Acked-by.

PatchMel Gorman
1/3A-b
2/3
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [RFC v3 0/3] vmpressure_fd: Linux VM pressure notifications

Hi all,

This is the third RFC. As suggested by Minchan Kim, the API is much simplified now (comparing to vmevent_fd):

- As well as Minchan, KOSAKI Motohiro didn't like the timers, so the timers are gone now;
- Pekka Enberg didn't like the complex attributes matching code, and so it is no longer there;
- Nobody liked the raw vmstat attributes, and so they were eliminated too.

But, conceptually, it is the exactly the same approach as in v2: three discrete levels of the pressure -- low, medium and oom. The levels are based on the reclaimer inefficiency index as proposed by Mel Gorman, but userland does not see the raw index values. The description why I moved away from reporting the raw 'reclaimer inefficiency index' can be found in
v2: http://lkml.org/lkml/2012/10/22/177

While the new API is very simple, it is still extensible (i.e. versioned).

As there are a lot of drastic changes in the API itself, I decided to just add a new files along with vmevent, it is much easier to review it this way (I can prepare a separate patch that removes vmevent files, if we care to preserve the history through the vmevent tree).

Thanks,
Anton.

--

 Documentation/sysctl/vm.txt                |  47 +++++
 arch/x86/syscalls/syscall_64.tbl           |   1 +
 include/linux/syscalls.h                   |   2 +
 include/linux/vmpressure.h                 | 128 ++++++++++++
 kernel/sys_ni.c                            |   1 +
 kernel/sysctl.c                            |  31 +++
 mm/Kconfig                                 |  13 ++
 mm/Makefile                                |   1 +
 mm/vmpressure.c                            | 231 +++++++++++++++++++++
 mm/vmscan.c                                |   5 +
 tools/testing/vmpressure/.gitignore        |   1 +
 tools/testing/vmpressure/Makefile          |  30 +++
 tools/testing/vmpressure/vmpressure-test.c |  93 +++++++++
 13 files changed, 584 insertions(+)

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html