On Thu, May 18, 2017 at 2:42 PM, Adrian Hunter [off-list ref] wrote:
On 18/05/17 11:21, Linus Walleij wrote:
quoted
It's better to do what everyone else does and let the core do this
allocation of extra data (tag) instead.
I agree it is much nicer, but the extra bounce buffer allocations still seem
gratuitous. Maybe we should allocate them as needed from a memory pool,
instead of for every request.
Incidentally IIRC that is what happens when we migrate to MQ.
In the old block layer, the per-request data is indeed initialized for
every request as you say, but in MQ the same struct request *'s
are reused from a pool, they are only initialized once, i.e. when
you add the block device.
(If I remember my logs right.)
Yours,
Linus Walleij