lkml.org 
[lkml]   [2006]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 3/4] net: Percpufy frequently used variables -- proto.sockets_allocated
Ravikiran G Thirumalai <kiran@scalex86.org> wrote:
>
> On Thu, Feb 02, 2006 at 07:16:00PM -0800, Andrew Morton wrote:
> > Ravikiran G Thirumalai <kiran@scalex86.org> wrote:
> > >
> > > On Fri, Jan 27, 2006 at 03:01:06PM -0800, Andrew Morton wrote:
> > > Here's an implementation which delegates tuning of batching to the user. We
> > > don't really need local_t at all as percpu_counter_mod is not safe against
> > > interrupts and softirqs as it is. If we have a counter which could be
> > > modified in process context and irq/bh context, we just have to use a
> > > wrapper like percpu_counter_mod_bh which will just disable and enable bottom
> > > halves. Reads on the counters are safe as they are atomic_reads, and the
> > > cpu local variables are always accessed by that cpu only.
> > >
> > > (PS: the maxerr for ext2/ext3 is just guesstimate)
> >
> > Well that's the problem. We need to choose production-quality values for
> > use in there.
>
> The guesstimate was loosely based on keeping the per-cpu batch at atleast 8
> on reasonably sized systems, while not letting maxerr grow too big. I guess
> machines with cpu counts more than 128 don't use ext3 :). And if they do,
> they can tune the counters with a higher maxerr. I guess it might be a bit
> ugly on the user side with all the if num_possibl_cpus(), but is there a
> better alternative?
>
> (I plan to test the counter values for ext2 and ext3 on a 16 way box, and
> change these if they turn out to be not so good)

OK, thanks. Frankly I think I went overboard on the scalability thing when
adding percpu counters to ext2 and ext3. I suspect they're not providing
significant benefit over per-sb-spinlock and a ulong.

> >
> > > Comments?
> >
> > Using num_possible_cpus() in that header file is just asking for build
> > errors. Probably best to uninline the function rather than adding the
> > needed include of cpumask.h.
>
> Yup,
>
> Here it is.
>
> Change the percpu_counter interface so that user can specify the maximum
> tolerable deviation.

OK, thanks. I need to sit down and a) remember why we're even discussing
this and b) see what we've merged thus far and work out what it all does ;)

-
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: 2006-02-03 21:16    [W:0.051 / U:0.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site