Messages in this thread | | | Date | Tue, 21 Aug 2007 20:26:16 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH] SLUB use cmpxchg_local |
| |
* Christoph Lameter (clameter@sgi.com) wrote: > On Tue, 21 Aug 2007, Mathieu Desnoyers wrote: > > > - Rounding error.. you seem to round at 0.1ms, but I keep the values in > > cycles. The times that you get (1.1ms) seems strangely higher than > > mine, which are under 1000 cycles on a 3GHz system (less than 333ns). > > I guess there is both a ms - ns error there and/or not enough > > precision in your numbers. > > Nope the rounding for output is depending on the amount. Rounds to one > digit after whatever unit we figured out is best to display. > > And multiplications (cyc2ns) do not result in rounding errors. >
Ok, I see now that the 1.1ms was for the 10000 iterations, which makes it about 230 ns/iteration for the 10000 times kmalloc(8) = 2.3ms test.
As I am going back through the initial cmpxchg_local implementation, it seems like it was executing __slab_alloc() with preemption disabled, which is wrong. new_slab() is not designed for that.
I'll try to run my tests on AMD64.
Mathieu
-- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 - 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/
| |