Re: [PATCH] ioatdma: fix race between updating ioat->head andIOAT_COMPLETION_PENDING

From: Vinod Koul
Date: Tue Feb 12 2013 - 11:52:35 EST


On Thu, Feb 07, 2013 at 02:38:32PM -0700, Dave Jiang wrote:
> There is a race that can hit during __cleanup() when the ioat->head pointer is
> incremented during descriptor submission. The __cleanup() can clear the
> PENDING flag when it does not see any active descriptors. This causes new
> submitted descriptors to be ignored because the COMPLETION_PENDING flag is
> cleared. This was introduced when code was adapted from ioatdma v1 to ioatdma
> v2. For v2 and v3, IOAT_COMPLETION_PENDING flag will be abandoned and a new
> flag IOAT_CHAN_ACTIVE will be utilized. This flag will also be protected under
> the prep_lock when being modified in order to avoid the race.
>
> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> Reviewed-by: Dan Williams <djbw@xxxxxx>
Applied, thanks

--
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/