![]() | ||||||||||
Messages in this thread |
On Fri, Oct 07 2005, Arjan van de Ven wrote: > On Fri, 2005-10-07 at 09:41 +0200, Jens Axboe wrote: > > Ok that makes more sense! But it's a little worrying that > > blk_queue_end_tag() would show up as hot in the profile, it is actually > > quite lean. > > it probably just is the first one to touch the IO structures after the > completion, and thus gets the penalty for the cachemiss. Something has > to have that after io completion (the io started usually > 10 msec ago > after all, and usually on another cpu at that) and my experience is that > it's one of those jello elephants; you can only move it around but not > really avoid it. That thought did occur to me, but I don't really see how that can be the case. The ->queue_tags should be cache hot if you repeatedly call that function, since that will never change. The request itself has been touched by scsi_end_request() already, so unless the layout is really bad we shouldn't need to fetch a lot of cache lines there. That leaves __test_and_clear_bit(), I guess that must be it. -- Jens Axboe - 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/ | |||||||||
| Last update: 2005-10-07 06:08 [from the cache] ©2003-2008 | ||||||||||