Messages in this thread | | | Date | Wed, 5 Jul 2006 16:28:39 -0700 | From | "Keith Mannthey" <> | Subject | Re: 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/
| |