On Wed, Apr 19, 2017 at 09:54:08PM -0700, Christoph Hellwig wrote:
> On Thu, Apr 20, 2017 at 09:03:47AM +0800, Ming Lei wrote:
> > If we don't need to reserve tag for internal command, I am happy
> > to fix it in the interim. However, the mtip32xx driver has to
> > ask blk-mq to reserve the tag zero for internal command. Then
> > if we can't allow the driver to use that reserved tag, it looks
> > quite awkward, doesn't it?
> It doesn't. Just offset the hardware tags by 1 from the blk-mq tags.
> But I'm pretty sure the hardware wouldn't require a specific tag
> for the internal ops.
>From mtip32xx code, the tag 0 is used to send internal command only, and
not used for submitting normal request.
>From code of mtip_issue_non_ncq_command() and mtip_issue_ncq_command(),
even same hardware address is writen to when issuing non-ncq and ncq
commands. So I think the internal ops and normal requests share one same
tag space on mtip32xx.
Could you explain it a bit why you think the hw doesn't need the tag
for internal ops in this case?