Re: [PATCH][RT] 2.6.24-rc2-rt1 drivers/dma/ioat_dma.c compile fix

From: Steven Rostedt
Date: Fri Nov 16 2007 - 12:16:54 EST



On Fri, 16 Nov 2007, Nelson, Shannon wrote:
> first->async_tx.phys;
> > - __list_splice(&new_chain, ioat_chan->used_desc.prev);
> > + list_splice_tail(&new_chain, ioat_chan->used_desc.prev);
> >
>
> NAK.
>
> These functions do insertions differently. The 'prev' is pointing to
> the last valid descriptor in the queue and you really want to get the
> new_chain stuck on after this. Your list_splice_tail() will insert the
> new_chain just before it which will muck up the order of the DMA
> requests.
>
> You might have more success with
> list_splice_tail(&new_chain, ioat_chan->used_desc);
> where used_desc points to the whole list, rather than using the .prev
> pointer to a specific node.
>
> Please copy me on future ioatdma related comments.
>

And people wonder why we post RT related patches to LKML. This is exactly
why!

Thanks for the response Shannon!

-- Steve

-
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/