Skip to content

RFC Critical Page Pool

Matthew Dobson linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest8 patches 19 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8Create Critical Page PoolDocumentation/sysctl/vm.txt include/linux/gfp.h include/linux/mm.h +4 more+169 -13 replies
2/8Create emergency triggerDocumentation/sysctl/vm.txt include/linux/mm.h include/linux/sysctl.h +2 more+42 -22 replies
3/8Slab cleanupinclude/linux/percpu.h mm/slab.c net/ipv6/af_inet6.c+775 -7580 replies
4/8Fix a bug in scsi_get_commanddrivers/scsi/scsi.c+1 -10 replies
5/8get_object/return_objectmm/slab.c+40 -370 replies
6/8slab_destructmm/slab.c+19 -80 replies
7/8__cache_grow()mm/slab.c+99 -890 replies
8/8Add support critical pool support to the slab allocatormm/slab.c+94 -130 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 0/8] Critical Page Pool

We have a clustering product that needs to be able to guarantee that the networking system won't stop functioning in the case of OOM/low memory condition. The current mempool system is inadequate because to keep the whole networking stack functioning, we need more than 1 or 2 slab caches to be guaranteed. We need to guarantee that any request made with a specific flag will succeed, assuming of course that you've made your "critical page pool" big enough.

The following patch series implements such a critical page pool. It creates 2 userspace triggers:

/proc/sys/vm/critical_pages: write the number of pages you want to reserve for the critical pool into this file

/proc/sys/vm/in_emergency: write a non-zero value to tell the kernel that the system is in an emergency state and authorize the kernel to dip into the critical pool to satisfy critical allocations.

We mark critical allocations with the __GFP_CRITICAL flag, and when the system is in an emergency state, we are allowed to delve into this pool to satisfy __GFP_CRITICAL allocations that cannot be satisfied through the normal means.

Feedback on our approach would be appreciated.

Thanks!

-Matt

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>