> On Thursday 17 November 2011 00:15:42 Michael Büsch wrote: > > On Thu, 17 Nov 2011 00:12:03 +0100 > > Christian Lamparter <chunkeey@xxxxxxxxxxxxxx> wrote: > > > BTW: I always wondered if it would make sense to have a > > > cached rx skb ready in p54spi_rx(). This way we don't > > > have to do DMA onto the stack [which is really ugly and > > > possibly illegal] and might even get a better rx > > > performance. I could write the code but as you know I don't > > > have the hardware to test it. > > > > I'll test it, if you can come up with a patch. > --- > [RFC] p54spi: don't DMA onto the stack > > DMA transfers should not be done onto the kernel stack. What about p54spi_read32, it does the same thing? I have tested this patch, it works, no measurable rx speed boost though (~6.1Mbit/sec in iperf as either server or client). [...snip...] > - if (len <= READAHEAD_SZ) { > - memcpy(skb_put(skb, len), rx_head + 1, len); > + if (len <= READAHEAD) { > + skb_put(skb, len); > } else { > - memcpy(skb_put(skb, READAHEAD_SZ), rx_head + 1, READAHEAD_SZ); > + skb_put(skb, READAHEAD); > p54spi_spi_read(priv, SPI_ADRS_DMA_DATA, > - skb_put(skb, len - READAHEAD_SZ), > - len - READAHEAD_SZ); > + skb_put(skb, len - READAHEAD), > + len - READAHEAD); > } I have also tested this patch without this (READAHEAD_SZ) kludge. It appears to work now. Thanks. -- Max -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html