On Tue, 16 Jun 2015, Jesper Dangaard Brouer wrote: > It is very important that everybody realizes that the save+restore > variant is very expensive, this is key: > > CPU: i7-4790K CPU @ 4.00GHz > * local_irq_{disable,enable}: 7 cycles(tsc) - 1.821 ns > * local_irq_{save,restore} : 37 cycles(tsc) - 9.443 ns > > Even if EVERY object need to call slowpath/__slab_free() it will be > faster than calling the fallback. Because I've demonstrated the call > this_cpu_cmpxchg_double() costs 9 cycles.
But the cmpxchg also stores a value. You need to add the cost of the store to the cycles. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html