]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix an overflow bug in the blist allocator that needlessly capped max
authordougm <dougm@FreeBSD.org>
Sat, 25 Jul 2020 18:29:10 +0000 (18:29 +0000)
committerdougm <dougm@FreeBSD.org>
Sat, 25 Jul 2020 18:29:10 +0000 (18:29 +0000)
commit9cffef36eb43f5c46cfd727661201bd74d6518fd
tree3ae77b1aa0ac95f87ba06e6a0f5ad2311fdfc9c8
parente63e12b6a8f31510578032b6d3c6867fa899a424
Fix an overflow bug in the blist allocator that needlessly capped max
swap size by dividing a value, which was always a multiple of 64, by
64.  Remove the code that reduced max swap size down to that cap.

Eliminate the distinction between BLIST_BMAP_RADIX and
BLIST_META_RADIX.  Call them both BLIST_RADIX.

Make improvments to the blist self-test code to silence compiler
warnings and to test larger blists.

Reported by: jmallett
Reviewed by: alc
Discussed with: kib
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D25736
sys/kern/subr_blist.c
sys/sys/blist.h
sys/vm/swap_pager.c