As Jens mentioned, there's no reason that
kmem_cache_{alloc,free}_cached should be separate API.
it seems better that kmem_cache_alloc calls _cached version when the cache is available.
Some calling contexts should be considered to that. and test is needed.