From: Andrew Morton <akpm@osdl.org>
To: "Keith Mannthey" <kmannth@gmail.com>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: 2.6.17-mm6
Date: Wed, 5 Jul 2006 17:25:45 -0700 [thread overview]
Message-ID: <20060705172545.815872b6.akpm@osdl.org> (raw)
In-Reply-To: <a762e240607051705h33952e5elf6bd09c1ccea8ab4@mail.gmail.com>
On Wed, 5 Jul 2006 17:05:49 -0700
"Keith Mannthey" <kmannth@gmail.com> wrote:
> On 7/5/06, Andrew Morton <akpm@osdl.org> wrote:
> > On Wed, 5 Jul 2006 16:44:57 -0700
> > Andrew Morton <akpm@osdl.org> wrote:
> >
> > > I guess a medium-term fix would be to add a boot parameter to override
> > > PERCPU_ENOUGH_ROOM - it's hard to justify increasing it permanently just
> > > for the benefit of the tiny minority of kernels which are hand-built with
> > > lots of drivers in vmlinux.
>
> I am not really loading alot of drivers. I am building with a ton of driver.
> >
> > That's not right, is it. PERCPU_ENOUGH_ROOM covers vmlinux and all loaded
> > modules, so if vmlinux blows it all then `modprobe the-same-stuff' will
> > blow it as well.
> >
> > > But first let's find out where it all went.
> >
> > I agree with that person.
> :)
>
> This is what I get it is diffrent that yours for sure. I am a little
> confused by the large offset change near the start.....?
Yes, I had an unexplained 8k hole. That was i386. Your x86_64 output
looks OK though.
> elm3a153:/home/keith/linux-2.6.17-mm6-orig # nm -n vmlinux | grep per_cpu
>...
> ffffffff80658000 A __per_cpu_start It starts here
> ffffffff80658000 D per_cpu__init_tss 8k
> ffffffff8065a080 d per_cpu__idle_state
> ffffffff8065a084 d per_cpu__cpu_idle_state
> ffffffff8065a0a0 D per_cpu__vector_irq
> ffffffff8065a4a0 D per_cpu__device_mce
> ffffffff8065a518 d per_cpu__next_check
> ffffffff8065a520 d per_cpu__threshold_banks
> ffffffff8065a550 d per_cpu__bank_map
> ffffffff8065a580 d per_cpu__flush_state
> ffffffff8065a600 D per_cpu__cpu_state
> ffffffff8065a620 d per_cpu__perfctr_nmi_owner
> ffffffff8065a624 d per_cpu__evntsel_nmi_owner
> ffffffff8065a640 d per_cpu__nmi_watchdog_ctlblk
> ffffffff8065a660 d per_cpu__last_irq_sum
> ffffffff8065a668 d per_cpu__alert_counter
> ffffffff8065a670 d per_cpu__nmi_touch
> ffffffff8065a680 D per_cpu__current_kprobe
> ffffffff8065a6a0 D per_cpu__kprobe_ctlblk
> ffffffff8065a7e0 D per_cpu__mmu_gathers 4k
> ffffffff8065b7e0 d per_cpu__runqueues 5k
> ffffffff8065ca60 d per_cpu__cpu_domains
> ffffffff8065cae0 d per_cpu__core_domains
> ffffffff8065cb60 d per_cpu__phys_domains
> ffffffff8065cbe0 d per_cpu__node_domains
> ffffffff8065cc60 d per_cpu__allnodes_domains
> ffffffff8065cce0 D per_cpu__kstat wham - 17.5k
> ffffffff80661120 D per_cpu__process_counts
> ffffffff80661130 d per_cpu__cpu_profile_hits
> ffffffff80661140 d per_cpu__cpu_profile_flip
> ffffffff80661148 d per_cpu__tasklet_vec
> ffffffff80661150 d per_cpu__tasklet_hi_vec
> ffffffff80661158 d per_cpu__ksoftirqd
> ffffffff80661160 d per_cpu__tvec_bases
> ffffffff80661180 D per_cpu__rcu_data
> ffffffff80661200 D per_cpu__rcu_bh_data
> ffffffff80661280 d per_cpu__rcu_tasklet
> ffffffff806612c0 d per_cpu__hrtimer_bases
> ffffffff80661340 d per_cpu__kprobe_instance
> ffffffff80661348 d per_cpu__taskstats_seqnum
> ffffffff80661360 d per_cpu__ratelimits.18857
> ffffffff80661380 d per_cpu__committed_space
> ffffffff806613a0 d per_cpu__lru_add_pvecs
> ffffffff80661420 d per_cpu__lru_add_active_pvecs
> ffffffff806614a0 d per_cpu__lru_add_tail_pvecs
> ffffffff80661520 D per_cpu__vm_event_states
> ffffffff80661640 d per_cpu__reap_work
> ffffffff806616a0 d per_cpu__reap_node
> ffffffff806616c0 d per_cpu__bh_lrus
> ffffffff80661700 d per_cpu__bh_accounting
> ffffffff80661720 d per_cpu__fdtable_defer_list
> ffffffff806617c0 d per_cpu__blk_cpu_done
> ffffffff806617e0 D per_cpu__radix_tree_preloads
> ffffffff80661860 d per_cpu__trickle_count
> ffffffff80661864 d per_cpu__proc_event_counts
> ffffffff80661880 d per_cpu__loopback_stats
> ffffffff80661980 d per_cpu__sockets_in_use
> ffffffff80661a00 D per_cpu__softnet_data
> ffffffff80662000 D per_cpu__netdev_rx_stat
> ffffffff80662010 d per_cpu__net_rand_state
> ffffffff80662080 d per_cpu__flow_tables
> ffffffff80662100 d per_cpu__flow_hash_info
> ffffffff80662180 d per_cpu__flow_flush_tasklets
> ffffffff806621c0 d per_cpu__rt_cache_stat
> ffffffff80662200 d per_cpu____icmp_socket
> ffffffff80662208 A __per_cpu_end
So you've been hit by the expansion of NR_IRQS which bloats kernel_stat
which gobbles per-cpu data.
In 2.6.17 NR_IRQS is 244. In -mm (due to the x86_64 genirq conversion)
NR_IRQS became (256 + 32 * NR_CPUS). Hence the kstat "array" became
two-dimensional. It's now O(NR_CPUS^2).
I don't know what's a sane max for NR_CPUS on x86_64, but that'll sure be a
showstopper if the ia64 guys try the same trick.
I guess one fix would be to de-percpuify kernel_stat.irqs[]. Or
dynamically allocate it with alloc_percpu().
(cc's people, runs away)
next prev parent reply other threads:[~2006-07-06 0:26 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-03 10:03 2.6.17-mm6 Andrew Morton
2006-07-03 10:50 ` 2.6.17-mm6 Michal Piotrowski
2006-07-03 10:56 ` 2.6.17-mm6 Andrew Morton
2006-07-03 11:36 ` 2.6.17-mm6 Michal Piotrowski
2006-07-03 12:27 ` 2.6.17-mm6 Michal Piotrowski
2006-07-03 13:28 ` 2.6.17-mm6 Dmitry Torokhov
2006-07-03 11:00 ` 2.6.17-mm6 Reuben Farrelly
2006-07-03 11:25 ` 2.6.17-mm6 Andrew Morton
2006-07-03 12:34 ` 2.6.17-mm6 Reuben Farrelly
2006-07-03 11:39 ` 2.6.17-mm6 Andrew Morton
2006-07-03 11:41 ` 2.6.17-mm6 Reuben Farrelly
2006-07-03 12:10 ` 2.6.17-mm6 Andrew Morton
2006-07-03 13:36 ` 2.6.17-mm6 Reuben Farrelly
2006-07-03 20:21 ` 2.6.17-mm6 Andrew Morton
2006-07-03 20:31 ` 2.6.17-mm6 Reuben Farrelly
2006-07-03 12:29 ` 2.6.17-mm6 Sergey Vlasov
2006-07-03 17:25 ` 2.6.17-mm6 Jeremy Fitzhardinge
2006-07-03 19:01 ` 2.6.17-mm6 Andrew Morton
2006-07-03 12:15 ` 2.6.17-mm6 Cedric Le Goater
2006-07-03 12:17 ` 2.6.17-mm6 Heiko Carstens
2006-07-03 13:08 ` 2.6.17-mm6 Martin Peschke
2006-07-03 13:12 ` 2.6.17-mm6 Cedric Le Goater
2006-07-03 12:15 ` 2.6.17-mm6 Cedric Le Goater
2006-07-03 14:09 ` 2.6.17-mm6 Theodore Tso
2006-07-03 19:07 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 19:37 ` 2.6.17-mm6 Andrew Morton
2006-07-03 19:43 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 19:27 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 19:39 ` 2.6.17-mm6 Andrew Morton
2006-07-03 19:56 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 20:17 ` 2.6.17-mm6 Andrew Morton
2006-07-03 20:36 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 20:54 ` 2.6.17-mm6 Andrew Morton
2006-07-03 21:50 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 23:31 ` 2.6.17-mm6 Andrew Morton
2006-07-04 8:34 ` 2.6.17-mm6 Alistair John Strachan
2006-07-04 8:49 ` 2.6.17-mm6 Andrew Morton
2006-07-04 16:28 ` 2.6.17-mm6 Alistair John Strachan
2006-07-05 20:37 ` 2.6.17-mm6 john stultz
2006-07-05 20:46 ` 2.6.17-mm6 Greg KH
2006-07-05 22:32 ` 2.6.17-mm6 Alistair John Strachan
2006-07-06 17:31 ` 2.6.17-mm6 john stultz
2006-07-06 19:06 ` 2.6.17-mm6 Alistair John Strachan
2006-07-06 19:16 ` 2.6.17-mm6 Alistair John Strachan
2006-07-06 20:02 ` 2.6.17-mm6 Alistair John Strachan
2006-07-06 20:11 ` 2.6.17-mm6 Greg KH
2006-07-07 20:48 ` 2.6.17-mm6 Alistair John Strachan
2006-07-08 16:02 ` 2.6.17-mm6 Alistair John Strachan
2006-07-03 22:10 ` 2.6.17-mm6 Anton Blanchard
2006-07-04 19:53 ` 2.6.17-mm6 Rafael J. Wysocki
2006-07-04 20:01 ` 2.6.17-mm6 Arjan van de Ven
2006-07-05 10:27 ` 2.6.17-mm6 Stefan Richter
2006-07-05 10:36 ` 2.6.17-mm6 Stefan Richter
2006-07-05 11:13 ` 2.6.17-mm6 Ingo Molnar
2006-07-05 21:43 ` 2.6.17-mm6 J.A. Magallón
2006-07-05 22:56 ` 2.6.17-mm6 Andrew Morton
2006-07-05 23:57 ` 2.6.17-mm6 J.A. Magallón
2006-07-06 0:02 ` 2.6.17-mm6 Andrew Morton
2006-07-06 14:36 ` 2.6.17-mm6 J.A. Magallón
2006-07-06 14:48 ` 2.6.17-mm6 J.A. Magallón
2006-07-06 21:44 ` 2.6.17-mm6 J.A. Magallón
2006-07-06 21:57 ` 2.6.17-mm6 Andrew Morton
2006-07-07 15:38 ` 2.6.17-mm6 J.A. Magallón
2006-07-07 16:02 ` 2.6.17-mm6 Alan Cox
2006-07-07 15:55 ` 2.6.17-mm6 J.A. Magallón
2006-07-07 16:44 ` 2.6.17-mm6 Alan Cox
2006-07-07 16:34 ` 2.6.17-mm6 Randy.Dunlap
2006-07-07 17:09 ` 2.6.17-mm6 Alan Cox
2006-07-07 17:14 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 17:22 ` 2.6.17-mm6 David Lloyd
2006-07-07 17:23 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 17:44 ` 2.6.17-mm6 Alan Cox
2006-07-07 17:39 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 20:03 ` 2.6.17-mm6 Alan Cox
2006-07-07 19:59 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 20:23 ` 2.6.17-mm6 Alan Cox
2006-07-07 20:14 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 20:42 ` 2.6.17-mm6 Alan Cox
2006-07-07 20:37 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 21:09 ` 2.6.17-mm6 J.A. Magallón
2006-07-07 21:11 ` 2.6.17-mm6 Jeff Garzik
2006-07-07 21:40 ` 2.6.17-mm6 J.A. Magallón
2006-07-06 23:26 ` 2.6.17-mm6 (try-3) Randy.Dunlap
[not found] ` <a762e240607051447x3c3c6e15k9cdb38804cf13f35@mail.gmail.com>
2006-07-05 22:50 ` 2.6.17-mm6 Andrew Morton
2006-07-05 23:28 ` 2.6.17-mm6 Keith Mannthey
2006-07-05 23:44 ` 2.6.17-mm6 Andrew Morton
2006-07-05 23:48 ` 2.6.17-mm6 Andrew Morton
2006-07-06 0:05 ` 2.6.17-mm6 Keith Mannthey
2006-07-06 0:25 ` Andrew Morton [this message]
2006-07-06 5:42 ` 2.6.17-mm6 Eric W. Biederman
2006-07-06 5:59 ` 2.6.17-mm6 Andrew Morton
2006-07-06 6:31 ` 2.6.17-mm6 Andrew Morton
2006-07-06 7:18 ` 2.6.17-mm6 Eric W. Biederman
2006-07-06 7:25 ` 2.6.17-mm6 Ingo Molnar
2006-07-06 8:21 ` 2.6.17-mm6 Eric W. Biederman
2006-07-06 8:26 ` 2.6.17-mm6 Ingo Molnar
2006-07-06 7:31 ` 2.6.17-mm6 Arjan van de Ven
2006-07-06 16:37 ` 2.6.17-mm6 Valdis.Kletnieks
2006-07-06 16:49 ` 2.6.17-mm6 Eric W. Biederman
2006-07-06 6:40 ` 2.6.17-mm6 Eric W. Biederman
2006-07-06 7:38 ` 2.6.17-mm6 vmstat breakage Mike Galbraith
2006-07-06 8:24 ` Andrew Morton
2006-07-06 17:16 ` 2.6.17-mm6 Andi Kleen
2006-07-12 3:55 ` 2.6.17-mm6 Steven Rostedt
2006-07-06 20:36 ` [-mm patch] drivers/edac/: make code static Adrian Bunk
2006-07-06 20:37 ` [-mm patch] fs/ocfs2/inode.c:ocfs2_refresh_inode(): remove unused variable Adrian Bunk
2006-07-06 20:43 ` Mark Fasheh
2006-07-06 20:37 ` [-mm patch] reiserfs: warn about the useless nolargeio option Adrian Bunk
2006-07-07 0:35 ` Hans Reiser
2006-07-06 20:37 ` [-mm patch] drivers/net/e1000/: possible cleanups Adrian Bunk
2006-07-06 20:47 ` Auke Kok
2006-07-07 7:35 ` Adrian Bunk
2006-07-07 9:17 ` 2.6.17-mm6 Reuben Farrelly
2006-07-07 9:35 ` 2.6.17-mm6 Andrew Morton
2006-07-07 21:15 ` 2.6.17-mm6 Reuben Farrelly
2006-07-07 21:38 ` 2.6.17-mm6 Andrew Morton
2006-07-07 21:42 ` 2.6.17-mm6 Martin Bligh
2006-07-07 23:06 ` 2.6.17-mm6 Andrew Morton
2006-07-08 3:46 ` 2.6.17-mm6 Badari Pulavarty
2006-07-07 23:08 ` 2.6.17-mm6 Reuben Farrelly
2006-07-07 15:24 ` 2.6.17-mm6 Reuben Farrelly
2006-07-08 20:20 ` 2.6.17-mm6: kernel/sysctl.c: PROC_FS=n compile error Adrian Bunk
2006-07-09 18:52 ` Serge E. Hallyn
2006-07-09 23:33 ` Adrian Bunk
2006-07-10 14:22 ` Serge E. Hallyn
2006-07-10 15:08 ` Serge E. Hallyn
2006-07-07 14:21 2.6.17-mm6 Martin J. Bligh
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=20060705172545.815872b6.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=ebiederm@xmission.com \
--cc=kmannth@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome