Re: [PATCH 10/11] VFS: Cache request_queue in struct block_device

From: Vivek Goyal
Date: Fri Aug 19 2011 - 11:55:46 EST


On Fri, Aug 19, 2011 at 05:36:22PM +0200, Andi Kleen wrote:
> On Fri, Aug 19, 2011 at 10:14:09AM -0400, Vivek Goyal wrote:
> > On Thu, Aug 18, 2011 at 02:03:56PM -0700, Andi Kleen wrote:
> > >
> > > >Is the performance gain because of this one less dereference really
> > > >substantial.
> > > Yes it is measurable on a large macro benchmark.
> > >
> > > The gain is from doing the prefetch early enough, and that needs the
> > > additional pointer.
> >
> > So it gives you extra .3% (as mentioned in your first mail). IMHO, for
> > .3% we should not cache extra request queue pointer.
>
> Note this is on a benchmark which is primarily userland. Kernel
> is only a small part, so it's a much higher percentage for the kernel
> time.
>
> Also on that large benchmark it's hard to any improvement at all,
> and this isn't even a particularly ugly or intrusive change.

> Not sure why you're against it.

Primarily because of code complexity. We are stashing away a pointer and
not taking any reference anywhere. So I am not even sure who is making
sure that request queue is not gone and there are no comments in the code
about why we are stashing a pointer and how are we making sure that
request queue is around for the lifetime of bdev.

Thanks
Vivek
--
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/