Issue 201. Never return NULL from kmem-alloc to rule out this simple case.
For Issue 201. Also check that mutex allocation was successful, or panic.
Add sysctl to monitor total mutex usage
Add MUTEX_LEAK conditional to maintain list of mutex allocations and
dump contents on SPL.kext unload.
Build a list with each mutex_init and remove with mutex_destroy, to
dump a list of mutex allocations that have not been destroyed on unload.
Stop hijacking the kstat user data to carry internal state. There are some cases where a single kstat data area is reused to report different stats, and having some of our state in there results in invalid data being returned.
WIP: Further progress kmem, export kstats for the caches. Improve logic around memory release. Alter bmalloc to expose the slice_allocator for use by others, and use to implement "slabs" in kmem.
WIP: tidy up a couple of the cache stats, still more to understand and fixup.
Add more stats for monitoring bmalloc.
Make sure that the slice allocators owned by the kmem caches are garbage collected.
WIP: work towards have memory smoothly reaped from caches.
Remove most of the "partial kmem" code, replace with a subbed out implementation. Preserve memory monitor thread and kstats and whatnot.
Remove most of the "partial kmem" code, replace with a stubbed out implementation. Preserve memory monitor thread and kstats and whatnot.
Merge branch 'master' of github.com:openzfsonosx/spl
Restore "memory pool" caching to bmalloc since kmem is no longer acting as as cache. Add various kstats to asssist with monitoring.
Set memory age times, timer rate, and remove warning.
Remove double declaration of cache list and lock.
Leave rwlock debug for when SPL is compiled in DEBUG mode.
WIP: Unstub vmem implementation. Wire into kmem, just basic initialisation at this stage.
Only use the pages_wanted value when mach_vm_pressure_monitor() returns
KERN_SUCCESS to stop reclaim from "bleeding out".