HomeFreeBSD

vmem: Revert r364744

Description

vmem: Revert r364744

A pair of bugs are believed to have caused the hangs described in the
commit log message for r364744:

  1. uma_reclaim() could trigger reclamation of the reserve of boundary tags used to avoid deadlock. This was fixed by r366840.
  2. The loop in vmem_xalloc() would in some cases try to allocate more boundary tags than the expected upper bound of BT_MAXALLOC. The reserve is sized based on the value BT_MAXMALLOC, so this behaviour could deplete the reserve without guaranteeing a successful allocation, resulting in a hang. This was fixed by r366838.

PR: 248008
Tested by: rmacklem

Details

Provenance
markjAuthored on
Parents
rS368235: MFC r367990:
Branches
Unknown
Tags
Unknown