[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E1DDD4E.6040100@kernel.dk>
Date: Wed, 13 Jul 2011 20:00:46 +0200
From: Jens Axboe <axboe@...nel.dk>
To: Matthew Wilcox <matthew@....cx>
CC: "Jiang, Dave" <dave.jiang@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>,
"Foong, Annie" <annie.foong@...el.com>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Nadolski, Edmund" <edmund.nadolski@...el.com>,
"Skirvin, Jeffrey D" <jeffrey.d.skirvin@...el.com>
Subject: Re: rq_affinity doesn't seem to work?
On 2011-07-13 19:10, Matthew Wilcox wrote:
> On Tue, Jul 12, 2011 at 10:30:35PM +0200, Jens Axboe wrote:
>> It's probably the grouping, we need to do something about that. Does the
>> below patch make it behave as you expect?
>
> "something", absolutely. But there is benefit from doing some aggregation
> (we tried disabling it entirely with the "well-known OLTP benchmark" and
> performance went down).
Yep, that's why the current solution is somewhat middle of the road...
> Ideally we'd do something like "if the softirq is taking up more than 10%
> of a core, split the grouping". Do we have enough stats to do that kind
> of monitoring?
I don't think we have those stats, though it could/should be pulled from
the ksoftirqX threads. We could have some metric, ala
dest_cpu = get_group_completion_cpu(rq->cpu);
if (ksoftirqd_of(dest_cpu) >= 90% busy)
dest_cpu = rq->cpu;
to send things completely local to the submitter of the IO, IFF the
current CPU is close to running at full tilt.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists