This serie is a proposal to slighly optimize the memory needed for some
structures used in nvme.
This follows the discussion in [1].
Honnestly, I'm not convinced that this serie really brings semething.
Because of the way memory alocation works, and its over-allocation to try to
avoid memory fragmentation, some limited gains are most of the time useless.
It could still help:
- many holes in structure can, at some point, have its size reach a threshold
(this is specially true if such structures are allocated with kcalloc() or
kmalloc_array())
- it can save some space in some other structures if embedded in them
- it can save a few cycles if the structure is memcpy()'ed or zeroed, for
example
- can reduce cache usage
With that in mind, patch 3 is a win, patch 4 is likely a win, the other ones are
much more theorical.
The changes are really limited, so even if the gain is marginal, maybe it still
makes sense to merge them.