kernel_arena doesn't have the same initial size constraint as kmem did. This broke some of the arena logic in arc. Setting a limit on kernel_arena would produce other undesirable results and complications. Instead, I opted to use the uma limit feature directly. This required some FreeBSD specific ifdefs.
|4293 ↗||(On Diff #36614)|
I'd suggest not adding this new ifdef and instead moving zio_area definition to be alongside heap_arena in sys/cddl/compat/opensolaris/sys/kmem.h. If I correctly understand, now it will always be NULL on FreeBSD.
|4337 ↗||(On Diff #36614)|
This is FreeBSD-specific code. It's not present upstream at all.