]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
proc: implement pid hash locks and an iterator
authorMateusz Guzik <mjg@FreeBSD.org>
Wed, 21 Nov 2018 18:56:15 +0000 (18:56 +0000)
committerMateusz Guzik <mjg@FreeBSD.org>
Wed, 21 Nov 2018 18:56:15 +0000 (18:56 +0000)
commit3d3e6793f6f502c1220f6384dc79e1e0595ba0cb
tree65bfbd024ff4e0e851f5da42d7699613a7c0834a
parent3bea9a2664be8585a421820a80b3cd012183e008
proc: implement pid hash locks and an iterator

forks, exits and waits are frequently stalled during poudriere -j 128 runs
due to killpg and process list exports performed for each package.

Both uses take the allproc lock. The latter case can be modified to iterate
over the hash with finer grained locking instead.

Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17817
sys/kern/kern_exit.c
sys/kern/kern_fork.c
sys/kern/kern_proc.c
sys/sys/proc.h