All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@zip.com.au>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: linux-kernel@vger.kernel.org,
	lse <lse-tech@lists.sourceforge.net>,
	riel@conectiva.com.br
Subject: Re: [RFC] Scalable statistics counters using kmalloc_percpu
Date: Fri, 26 Jul 2002 21:45:07 -0700	[thread overview]
Message-ID: <3D422553.6B126242@zip.com.au> (raw)
In-Reply-To: 20020727015833.D0C534134@lists.samba.org

Rusty Russell wrote:
> 
> > > +       for( i=0; i < NR_CPUS; i++ )
> > > +               res += *per_cpu_ptr(stctr->ctr, i);
> > > +       return res;
> > > +}
> >
> > Oh dear.  Most people only have two CPUs.
> >
> > Rusty, can we *please* fix this?  Really soon?
> 
> Linus just applied the hotplug cpu boot patch in bk, which gives
> cpu_possible(i), for exactly this purpose.

Good.  And will it be possible to iterate across all CPUs
without having to iterate across NR_CPUS?

> > General comment:  we need to clean up the kernel_stat stuff.  We
> > cannot just make it per-cpu because it is 32k in size already.  I
> > would suggest that we should break out the disk accounting and
> > make the rest of kernel_stat per CPU.
> 
> kernel_stat is dynamically allocated???

No.  It's jut a big lump of bss.
 
> Personally, I think that dynamically allocated per-cpu datastructures,
> like dynamically-allocated brlocks, are something we might need
> eventually, but look at what a certain driver did with the "make it
> per-cpu" concept already.  I don't want to rush in that direction.

What driver is that?

And no, we need to do something about the NR_CPUS bloat Right Now.

In my build there is a quarter megabyte of per cpu data.  And that
does not include the (currently small) .data.percpu * 32.

The is pretty much entirely wasted memory, and it will only get
worse. Making NR_CPUS compile-time configurable is a lame solution.
Wasting the memory is out of the question.

Dynamic allocation is the only thing left, yes?

-

  reply	other threads:[~2002-07-27  4:33 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-26 15:10 [RFC] Scalable statistics counters using kmalloc_percpu Ravikiran G Thirumalai
2002-07-26 15:27 ` Rik van Riel
2002-07-26 15:54   ` [Lse-tech] " Dipankar Sarma
2002-07-29 14:18   ` Ravikiran G Thirumalai
2002-07-26 18:46 ` Andrew Morton
2002-07-26 19:46   ` William Lee Irwin III
2002-07-26 19:50     ` Robert Love
2002-07-26 19:53       ` William Lee Irwin III
2002-07-26 20:15       ` [Lse-tech] " William Lee Irwin III
2002-07-26 20:22         ` Robert Love
2002-07-27 12:00           ` Zwane Mwaikambo
2002-07-27 12:21         ` Zwane Mwaikambo
2002-07-28 21:33           ` Martin J. Bligh
2002-07-29 10:31             ` Zwane Mwaikambo
2002-07-29 14:54               ` Martin J. Bligh
2002-07-27  1:56   ` Rusty Russell
2002-07-27  4:45     ` Andrew Morton [this message]
2002-07-27  4:59       ` Rusty Russell
2002-07-27  6:16         ` Andrew Morton
2002-07-29 10:57   ` Ravikiran G Thirumalai
2002-07-29 18:23     ` Andrew Morton
2002-07-29 18:50       ` [Lse-tech] " Dipankar Sarma
2002-07-30 11:25       ` Ravikiran G Thirumalai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D422553.6B126242@zip.com.au \
    --to=akpm@zip.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=riel@conectiva.com.br \
    --cc=rusty@rustcorp.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.