lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 10 Jan 2009 23:01:16 -0800 From: "Yinghai Lu" <yinghai@...nel.org> To: "Mike Travis" <travis@....com> Cc: "Ingo Molnar" <mingo@...hat.com>, "Rusty Russell" <rusty@...tcorp.com.au>, "Jack Steiner" <steiner@....com>, linux-kernel@...r.kernel.org Subject: Re: [PATCH 4/4] kstat: modify kstat_irqs_legacy to be variable sized On Sat, Jan 10, 2009 at 2:38 PM, Mike Travis <travis@....com> wrote: > Impact: reduce memory usage. > > Allocate kstat_irqs_legacy based on nr_cpu_ids to deal with this > memory usage bump when NR_CPUS bumped from 128 to 4096: > > 8192 +253952 262144 +3100% kstat_irqs_legacy(.bss) > > This is only when CONFIG_SPARSE_IRQS=y. > > Signed-off-by: Mike Travis <travis@....com> > --- > kernel/irq/handle.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > --- linux-2.6-for-ingo.orig/kernel/irq/handle.c > +++ linux-2.6-for-ingo/kernel/irq/handle.c > @@ -124,8 +124,7 @@ static struct irq_desc irq_desc_legacy[N > } > }; > > -/* FIXME: use bootmem alloc ...*/ > -static unsigned int kstat_irqs_legacy[NR_IRQS_LEGACY][NR_CPUS]; > +static unsigned int *kstat_irqs_legacy; > > int __init early_irq_init(void) > { > @@ -146,9 +145,13 @@ int __init early_irq_init(void) > /* allocate irq_desc_ptrs array based on nr_irqs */ > irq_desc_ptrs = alloc_bootmem(nr_irqs * sizeof(void *)); > > + /* allocate based on nr_cpu_ids */ > + kstat_irqs_legacy = alloc_bootmem(NR_IRQS_LEGACY * nr_cpu_ids * > + sizeof(int)); > + > for (i = 0; i < legacy_count; i++) { > desc[i].irq = i; > - desc[i].kstat_irqs = kstat_irqs_legacy[i]; > + desc[i].kstat_irqs = kstat_irqs_legacy + i * NR_IRQS_LEGACY; here should be + desc[i].kstat_irqs = kstat_irqs_legacy + i * nr_cpu_ids; YH -- 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