split returning an item to the pool pages out of pool_put as pool_do_put.
authordlg <dlg@openbsd.org>
Fri, 16 Jun 2017 01:33:20 +0000 (01:33 +0000)
committerdlg <dlg@openbsd.org>
Fri, 16 Jun 2017 01:33:20 +0000 (01:33 +0000)
commit7276a6834fc0308879a4100cde7a600e782f4b7c
tree7c9d0e2d68e8cacafb87b373c2370a71704d1eed
parent175c85ce51f81bd7862c7d82a4173fcc0c9c3acc
split returning an item to the pool pages out of pool_put as pool_do_put.

this lets pool_cache_list_put return items to the pages. currently,
if pool_cache_list_put is called while the per cpu caches are
enabled, the items on the list will put put straight back onto
another list in the cpu cache. this also avoids counting puts for
these items twice. a put for the items have already been coutned
when the items went to a cpu cache, it doesnt need to be counted
again when it goes back to the pool pages.

another side effect of this is that pool_cache_list_put can take
the pool mutex once when returning all the items in the list with
pool_do_put, rather than once per item.

ok visa@
sys/kern/subr_pool.c