lkml.org 
[lkml]   [2006]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.17-mm6
On 7/5/06, Andrew Morton <akpm@osdl.org> wrote:
> "Keith Mannthey" <kmannth@gmail.com> wrote:
> >
> > On 7/3/06, Andrew Morton <akpm@osdl.org> wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm6/
> > >
> > >
> >
> > Moving from -mm4 to -mm6 I ran into this while trying to boot....
> > <snip>
> > Could not allocate 16 bytes percpu data
> > Could not allocate 16 bytes percpu data
> > sd_mod: Unknown symbol scsi_print_sense_hdr
> > sd_mod: Unknown symbol scsi_mode_sense
> > sd_mod: Unknown symbol scsi_device_get
> > sd_mod: Unknown symbol scsi_get_sense_info_fld
> > <snip>
> >
> > sd_mod (and later aacraid) are built into my initrd and loaded during boot.
> >
> > I doubled PERCPU_ENOUGH_ROOM to 65536 and was able to boot. I am not
> > sure what is eating all the percpu room on the system. I was using
> > this config with -mm4 just fine.
> >
> > I attached the dmesg and .config
> >
>
> Looks like we simply ran out. Why?...
>
> patches/genirq-x86_64-irq-make-vector_irq-per-cpu.patch:+DEFINE_PER_CPU(vector_irq_t, vector_irq) = {
> patches/mm-implement-swap-prefetching.patch:+static DEFINE_PER_CPU(struct pagevec, lru_add_tail_pvecs) = { 0, };
> patches/origin.patch:+static DEFINE_PER_CPU(u64 *, tce_page) = NULL;
> patches/origin.patch:+DEFINE_PER_CPU(struct sys_device, device_mce);
> patches/origin.patch:+static DEFINE_PER_CPU(struct threshold_bank *, threshold_banks[NR_BANKS]);
> patches/origin.patch:+static DEFINE_PER_CPU(struct rq, runqueues);
> patches/origin.patch:+DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}};
> patches/per-task-delay-accounting-taskstats-interface.patch:+static DEFINE_PER_CPU(__u32, taskstats_seqnum) = { 0 };
> patches/readahead-state-based-method-aging-accounting.patch:+DEFINE_PER_CPU(unsigned long, readahead_aging);
> patches/x86_64-mm-add-performance-counter-reservation-framework-for-up-kernels.patch:+static DEFINE_PER_CPU(unsigned long, perfctr_nmi_owner);
> patches/x86_64-mm-add-performance-counter-reservation-framework-for-up-kernels.patch:+static DEFINE_PER_CPU(unsigned long, evntsel_nmi_owner[3]);
> patches/x86_64-mm-add-performance-counter-reservation-framework-for-up-kernels.patch:+static DEFINE_PER_CPU(unsigned, perfctr_nmi_owner);
> patches/x86_64-mm-add-performance-counter-reservation-framework-for-up-kernels.patch:+static DEFINE_PER_CPU(unsigned, evntsel_nmi_owner[2]);
> patches/x86_64-mm-add-smp-support-on-i386-to-reservation-framework.patch:+static DEFINE_PER_CPU(struct nmi_watchdog_ctlblk, nmi_watchdog_ctlblk);
> patches/x86_64-mm-add-smp-support-on-x86_64-to-reservation-framework.patch:+static DEFINE_PER_CPU(struct nmi_watchdog_ctlblk, nmi_watchdog_ctlblk);
>
> Per-cpuifying the 2.5 kbyte runqueue struct will have hurt.
>
> [does readelf --section-headers drivers/scsi/sd_mod.ko, wonders why
> .data.percpu isn't there]

hmm. There is no message from the readelf command but there it dosen't
report any .data.percpu area. The only sections for data are just .data and
.rela.data

> Are you able to add this, see if we can work out where it all went?

I am still booting with the larger percpu size but I see

percpu_modalloc: allocating 16 bytes for module scsi_mod (vmlinux:41600)
percpu_modalloc: allocating 8 bytes for module ipv6 (vmlinux:41600)

from the log. Something built in is eating it.

I am turing off the readhead to see if that helps.

Thanks,
Keith
-
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-07-06 01:31    [W:0.363 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site