]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Use per-domain locks for the bucket cache.
authorjeff <jeff@FreeBSD.org>
Wed, 19 Feb 2020 18:48:46 +0000 (18:48 +0000)
committerjeff <jeff@FreeBSD.org>
Wed, 19 Feb 2020 18:48:46 +0000 (18:48 +0000)
commit72deafb87550a7da5407bff9d3354470384f49e5
treec341e1ea7e56bebfd338a334138a5f38c6967611
parent01cf73a5d373da1da4e54fcac72c717647696a8b
Use per-domain locks for the bucket cache.

This gives much better concurrency when there are a large number of
cores per-domain and multiple domains.  Avoid taking the lock entirely
if it will not be productive.  ROUNDROBIN domains will have mixed
memory in each domain and will load balance to all domains.

While here refactor the zone/domain separation and bucket limits to
simplify callers.

Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D23673
lib/libmemstat/memstat_uma.c
sys/vm/uma_core.c
sys/vm/uma_int.h