[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] Allocation of length 1416402 from process 43 failed
Hello,
there exists a limit of the largest memory block you can allocate in one
block due to the MMU-less microblaze CPU. You can check the upper limit
by
# cat /proc/slabinfo
You have to choose a different memory allocator. Do the following:
# make linux_menuconfig
General setup --->
Non power-of-2 kernel allocator (EXPERIMENTAL)
Allow allocating large blocks (> 1MB) of memory
You have to choose one of the possibilities above. I had success with
the "Non power-of-2 kernel allocator". It is marked experimental. So I
don't know if it is runtime stable when the system is running a long
time.
Hope this helps,
Johann
Zhang Zhong <vxzhong@xxxxxxxxx> wrote:
> Hi,all:
> I have compiled a program with a size of only 500k. But when I
> executed it under uclinux, it failed. And output the following message:
>
> Allocation of length 1416402 from process 43 failed
> Free pages: 26376kB ( 0kB HighMem)
> Zone:DMA freepages: 26376kB
> Zone:Normal freepages: 0kB
> Zone:HighMem freepages: 0kB
> ( Active: 189, inactive: 74, free: 6594 )
> 0*4kB 1*8kB 0*16kB 0*32kB 0*64kB 0*128kB 1*256kB 1*512kB 1*1024kB
> 12*2048kB = 26
> 376kB)
> = 0kB)
> = 0kB)
> Unable to allocate RAM for process text/data, errno 12
> ./facedetect: program too big
>
> My board is Spartan 3E Starter Kit. I have been troubled by this problem
> for more than one week. Any help is really appreciated!
> --
> Zhang Zhong
> Email:vxzhong@xxxxxxxxx
> zhangzhong@xxxxxxxxxxxxxx
--
Dr. Johann Pfefferl --------------- mailto pfefferl at gmx dot net
==
-o) A computer program does what you tell it to do,
/\\ not what you want it to do.
_\_v-
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/