Messages in this thread | | | Date | Thu, 30 Jun 2005 18:31:37 +0800 | From | Wang Jian <> | Subject | Re: 2.6.12.1 problems I meet (please CC: me) |
| |
2005/6/30, Wang Jian <larkwang@gmail.com>: > Hi, > > I use a customized kernel to do packets analysis. The analysis code is > linked into kernel. It will vmalloc() nearly 128M (a little less) when > initialized. > > The original code runs on 2.6.10 and works fine. The platform is a > general P4 with 100M ethernet. The user space system is a 8M compressed > ramdisk image which is a 32M filesystem. > > Now I want to make it work on 2.6.12+ and on Athlon64 platform, for > better driver and better CPU/NIC performance. > > I have a P4 box (compilation bed, CB), a 2-way Athlon64 box (test bed, > TB). > > The problems are: > > 2. I compile kernel 2.6.12.1 for K7 on CB. Boot it on TB, the system > boot up execept that the analysis code can't vmalloc() the needed memory. > > "allocation failed: out of vmalloc space - use vmalloc=<size> to increase size." > > If I use vmalloc=256m in boot command line, then > > initrd extends beyond end of memory (0x37fef716 > 0x30000000) > initrd extends beyond end of memory (0x37fef716 > 0x30000000) > Kernel panic - unsyncing: VFS: Unable to mount root fs on unknown-block > (1,0) >
This problem also presents itself in 2.6.10.
I remove 512M physic RAM from this TB, so it has 512M RAM left. The problem is then gone. The needed memory can be correctly vmalloc() during boot without vmalloc=256m specified in boot command line.
I am curious why this happens?
1. With 512M physic RAM, vmalloc(16776989 * 8) succeeds. 2. With 1G physic RAM, vmalloc(16776989 * 8) fails. 3. With 1G physic RAM, vmalloc=256m boot option will cause kernel fail to expand a 8M initrd image which is of 32M filesystem. - 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/
| |