greybus: create a slab cache for simple messages
A large number of request and response message types have no payload.
Such "simple" messages have a known, fixed maximum size, so we can
preallocate and use a pool (slab cache) of them.
Here are two benefits to doing this:
- There can be (small) performance and memory utilization
benefits to using a slab cache.
- Error responses can be sent with no payload; the cache is
likely to have a free entry to use for an error response even
in a low memory situation.
The plan here is that an incoming request handler that has no
response payload to fill will not need to allocate a response
message. If no message has been allocated when a response is to be
sent, one will be allocated from the cache by the core code.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>