HomeFreeBSD

Fix integer math overflow in UMA hash_alloc().

Description

Fix integer math overflow in UMA hash_alloc().

512GB of ZFS ABD ARC means abd_chunk zone of 128M 4KB items. To manage
them UMA tries to allocate 2GB hash table, which size does not fit into
the int variable, causing later allocation failure, which makes ARC shrink
back below the 512GB, not letting it to use more RAM. With this change I
easily reached >700GB ARC size on 768GB RAM machine.

MFC after: 1 week
Sponsored by: iXsystems, Inc.

Details

Provenance
mavAuthored on
Parents
rS343672: rtld: pacify -Wmaybe-uninitialized from gcc6
Branches
Unknown
Tags
Unknown