struct TheHeapLock
Defined at line 28 of file ../../zircon/kernel/lib/heap/cmpctmalloc/include/lib/cmpctmalloc.h
This is a popular lock. Critical sections protected by this lock are
*usually* short-lived, so we'd like to minimize lock thrash by disabling
preemption while holding the lock. However, in degenerate cases (e.g. with
excessive PMM fragmentation), the lock can be held for long periods of time.
In those case, we don't want to overly delay the scheduling of a higher
priority task. To strike a balance between these competing concerns, we use
|CriticalMutex| which employs "time-limited preemption deferral".
For more information, see https://fxbug.dev/399694236.