Messages in this thread | | | Date | Fri, 7 Oct 2005 10:06:21 +0200 | From | Jens Axboe <> | Subject | Re: [RFC] add sysfs to dynamically control blk request tag maintenance |
| |
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/
| |