]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
uma: Introduce per-domain reclamation functions
authorMark Johnston <markj@FreeBSD.org>
Wed, 14 Apr 2021 16:57:24 +0000 (12:57 -0400)
committerMark Johnston <markj@FreeBSD.org>
Wed, 14 Apr 2021 17:03:34 +0000 (13:03 -0400)
commitaabe13f1450bb4caba66ec2a7a41c0dfefff511d
tree912bc95617dbf7b13d381364f4e624216fda76bc
parent54f421f9e84234c4313f2d636e4ebd74009a74d6
uma: Introduce per-domain reclamation functions

Make it possible to reclaim items from a specific NUMA domain.

- Add uma_zone_reclaim_domain() and uma_reclaim_domain().
- Permit parallel reclamations.  Use a counter instead of a flag to
  synchronize with zone_dtor().
- Use the zone lock to protect cache_shrink() now that parallel reclaims
  can happen.
- Add a sysctl that can be used to trigger reclamation from a specific
  domain.

Currently the new KPIs are unused, so there should be no functional
change.

Reviewed by: mav
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29685
share/man/man9/zone.9
sys/vm/uma.h
sys/vm/uma_core.c
sys/vm/uma_int.h
sys/vm/vm_kern.c