On Mon, 13 Jun 2016 23:54:50 +0300 "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote: > Update skb_array after ptr_ring API changes. > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Tested-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Also did resize unit test: https://github.com/netoptimizer/prototype-kernel/commit/af0b4d7e7261e9 The parallel benchmark: https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/lib/skb_array_parallel01.c Have been adjusted to use the non-BH variant of the lock. And the parallel benchmark results, where a single producer and a single consumer CPU runs concurrently, and the queue always partly full (optimal case for minimize cache-contention): On CPU i7-4790K @ 4.00GHz: - Enqueue 32 cycles(tsc) 8.162 ns - Dequeue 33 cycles(tsc) 8.417 ns Notice this is an extremely good concurrency results, as it is very close to the optimal case benchmark 26 cycles, when running enqueue+dequeue on the same CPU in a tight loop[2]. -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer [2] https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/lib/skb_array_bench01.c -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html