[PATCH] nvme: avoid cqe corruption when update at the same time as read
Christoph Hellwig
hch at infradead.org
Thu Mar 10 06:36:50 PST 2016
On Thu, Mar 10, 2016 at 12:08:48PM +0100, Marta Rybczynska wrote:
> Looks like a good refactoring to me. However, it seems to me that in
> nvme_cqe_valid we should be checking for phase, not for head.
Yeah, this doesn't work as-is. I still think that non-obvious
check should be split out into something. Maybe just:
static inline bool nvme_cqe_valid(struct nvme_queue *nvmeq, u16 head, u16 phase)
{
return (le16_to_cpu(nvmeq->cqes[head].status) & 1) == phase;
}
More information about the Linux-nvme
mailing list