HomeFreeBSD

uma: Introduce per-domain reclamation functions

Description

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
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29685

(cherry picked from commit aabe13f1450bb4caba66ec2a7a41c0dfefff511d)

Details

Provenance
markjAuthored on Apr 14 2021, 4:57 PM
Reviewer
mav
Differential Revision
D29685: uma: Introduce per-domain reclamation functions
Parents
rG6eddb6822c9a: uma: Split bucket_cache_drain() to permit per-domain reclamation
Branches
Unknown
Tags
Unknown