Re: inlined spinlocks on sparc64

From: Jens Axboe
Date: Thu Aug 13 2009 - 07:56:31 EST


On Thu, Aug 13 2009, David Miller wrote:
> From: Jens Axboe <jens.axboe@xxxxxxxxxx>
> Date: Thu, 13 Aug 2009 10:20:58 +0200
>
> > I deleted the original thread, so I can't reply there. Just a heads up
> > on the spinlock inlining on sparc64. I decided to give your patches a
> > shot, since one of my IO benchmarks here basically degenerates into a
> > spinlock microbenchmark with > 50% time spent there (unlock part,
> > according to perf). Some of that is surely caching effects, but still.
> >
> > For this particular workload, I get a net improvement of about 3.5% with
> > the inlined functions. Not bad.
>
> Doesn't surprise me, any function call can result in a register
> window spill onto the stack, and that's 128 bytes of writes.
>
> Later when you leave the code path you have to refill that spilled
> window and you get 128 bytes of reads for each one of those.

Good thing it's not register starved ;-)

Forgot to mention that it grew my kernel image by exactly 80KB, total
size is around 5.5MB.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/