Re: [PATCH 6/9] readahead: add /debug/readahead/stats

From: Andrew Morton
Date: Fri Jan 27 2012 - 15:16:21 EST


On Fri, 27 Jan 2012 10:21:36 -0600 (CST)
Christoph Lameter <cl@xxxxxxxxx> wrote:

> > +
> > +static void readahead_stats_reset(void)
> > +{
> > + int i, j;
> > +
> > + for (i = 0; i < RA_PATTERN_ALL; i++)
> > + for (j = 0; j < RA_ACCOUNT_MAX; j++)
> > + percpu_counter_set(&ra_stat[i][j], 0);
>
> for_each_online(cpu)
> memset(per_cpu_ptr(&ra_stat, cpu), 0, sizeof(ra_stat));

for_each_possible_cpu(). And that's one reason to not open-code the
operation. Another is so we don't have tiresome open-coded loops all
over the place.

But before doing either of those things we should choose boring old
atomic_inc(). Has it been shown that the cost of doing so is
unacceptable? Bearing this in mind:

> The accounting code will be compiled in by default
> (CONFIG_READAHEAD_STATS=y), and will remain inactive by default.

I agree with those choices. They effectively mean that the stats will
be a developer-only/debugger-only thing. So even if the atomic_inc()
costs are measurable during these develop/debug sessions, is anyone
likely to care?


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