On 2013-01-02 9:13 PM, Adrian Chadd wrote: > On 2 January 2013 09:15, voncken <cedric.voncken@xxxxxxxxx> wrote: >> Yes, >> >> I used an mpc8314 at 400Mhz, with 128 Mbit of RAM for my test. > > Ah! > >> To find it, I measured the time elapsing in ath_rxbuf_alloc(..) with >> the kernel function local_clock(). >> >> With SLOB I found around 123 us (and I have an infinite loop in >> ath9k tasklet, because when I have consumed one packet the next packet is >> ready to rx process) >> With SLAB I found around 22 us >> With SLUB I found around 10 us > > Cool. That's significantly more CPU.. :-) > > So yes, the right thing to do here is to break out after a limit is > reached, and if we hit that limit, re-schedule that tasklet to run. I don't think it's worth adding such a band-aid. NAPI handles this much better, as the network stack specifies a limit for the number of frames to be accepted and doesn't poll if it doesn't have room for more, thus solving this in a much better way. - Felix -- 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