Messages in this thread | | | Date | Wed, 17 Oct 2007 17:34:21 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 4/5] I/OAT: Tighten descriptor setup performance |
| |
On Wed, 17 Oct 2007 17:14:33 -0700 Shannon Nelson <shannon.nelson@intel.com> 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 <shannon.nelson@intel.com> > --- > > 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?
This function is far too large to be inlined anyway.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |