[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <494EF3AA.9040100@kernel.org>
Date: Mon, 22 Dec 2008 10:55:54 +0900
From: Tejun Heo <tj@...nel.org>
To: Rusty Russell <rusty@...tcorp.com.au>
CC: Jens Axboe <jens.axboe@...cle.com>,
Jerome Marchand <jmarchan@...hat.com>,
linux-kernel@...r.kernel.org,
Christoph Lameter <cl@...ux-foundation.org>
Subject: Re: per-cpu stats in block device: overkill?
Hello, Rusty.
Rusty Russell wrote:
> Hi Jens, Tejun, Jerome,
>
> I've been auditing alloc_per_cpu users, and got to genhd. The code
> is fairly complex, but I can't help wondering if per-cpu counters
> are overkill. After all, we have a single queue lock.
Yeah, maybe.
> The reason I care is that I'm changing alloc_per_cpu to use the
> static per-cpu area: at 40/80 bytes (32/64 bit) per stat, we'd be
> restricted to a few hundred disks unless the percpu area is enlarged
> (in current patches, a cmdline param). Or, I can change genhd to
> use big_percpu_alloc which will use the current inefficient dynamic
> per-cpu system until we get dynamic per-cpu regions (if ever).
I'm working on local counter (local_t) allocator which is used to
replace percpu allocation in percpu_counter and used as basis for
percpu_ref which replaces module ref counting and will be used to
simplify block/char lifetime rules.
The local counter allocator allocates per-cpu pages and the space
overhead is minimal. If per-cpu stats in genhd is necessary, I think
converting it to percpu local counter allocation should do it.
BTW, why make percpu area static?
Thanks.
--
tejun
--
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