On Mon, May 21, 2018 at 05:11:29PM -0600, Keith Busch wrote: > This patch adds a struct kref to struct request so that request users > can be sure they're operating on the same request without it changing > while they're processing it. The request's tag won't be released for > reuse until the last user is done with it. Can you please use a raw refcount_t instead of the kref? That avoids a possible indirect call in the fast path, which have become really painful with the spectre mitigrations, and also is easier to follow to start with. I also think this should be merged into patch 3, as it isn't very useful on its own.