>-----Original Message----- >From: Andrew Morton [mailto:[EMAIL PROTECTED] > >On Wed, 17 Oct 2007 17:14:33 -0700 >Shannon Nelson <[EMAIL PROTECTED]> wrote: > >> The change to the async_tx interface cost this driver some >performance by >> spreading the descriptor setup across several functions, >including multiple >> passes over the new descriptor chain. Here we bring the >work back into one >> primary function and only do one pass. >> >> Signed-off-by: Shannon Nelson <[EMAIL PROTECTED]> >> --- >> >> drivers/dma/ioat_dma.c | 170 >+++++++++++++++++++++++++----------------------- >> drivers/dma/ioatdma.h | 6 +- >> 2 files changed, 93 insertions(+), 83 deletions(-) >> >> diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c >> index c44f551..117ac38 100644 >> --- a/drivers/dma/ioat_dma.c >> +++ b/drivers/dma/ioat_dma.c >> @@ -46,9 +46,12 @@ >> /* internal functions */ >> static void ioat_dma_start_null_desc(struct ioat_dma_chan >*ioat_chan); >> static void ioat_dma_memcpy_cleanup(struct ioat_dma_chan >*ioat_chan); >> +static inline struct ioat_desc_sw *ioat_dma_get_next_descriptor( >> + struct >ioat_dma_chan *ioat_chan); > >A forward-declared static inline is pretty weird. Does gcc >actually do the >right thing with it?
Well, I didn't inspect the opcodes generated... > >This function is far too large to be inlined anyway. > No prob, I can remove the "inline" and repost. sln - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/