Problems in kernel memory allocation

From: Sriram Narasimhan (nsri@tataelxsi.co.in)
Date: Sat Apr 12 2003 - 09:34:44 EST


Hi,

I am having problems allocating more than 2.5 MB in the linux kernel.
I am using Linux 2.4.7-10 RH 7.2 on i386.

Physical RAM: 64 MB

I tried two methods of allocation, one using kmalloc and other using
kmem_cache_alloc. Both of them failed to allocate more than 2.5 MB.
(GFP_KERNEL / GFP_ATOMIC operations)
When I run 'free' I am able to see that the free physical memory is
about 4MB and the free buffers/cache is about 52 MB.
The report is as follows:
           total used free shared buffers cached
Mem: 62264 57928 4336 0 30152 17768
-/+ buffers/cache: 10008 52256
Swap: 192772 0 192772

I also found out that the /proc/meminfo had about 43MB of Inact_dirty .
Is there any way to forcefully flush the dirty buffers ?
Why is the allocation consistently failing in about 2.5 or 3MB ?
Only when the free physical is about 30MB and I start allocating am I
able to successfully allocate about 5MB.

Is there a restriction as to how much memory you can allocate in the
kernel ?

Sriram

-
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/



This archive was generated by hypermail 2b29 : Tue Apr 15 2003 - 22:00:27 EST