lkml.org 
[lkml]   [1999]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectVersion 2.2.5 memory allocation strategy
Hello,

Linux 2.2.5 seems to have a strange memory allocation strategy
that results in memory not being available when, in fact, it is.

If I use kernel memory, kmalloced with GFP_KERNEL, allocated in
variable-length bunches (not less than 512 bytes nor more than
4096 bytes), then kfree in the same order as allocated, the result
is often not enough user memory for fork(), etc., even though it
was all freed.

If I free memory in the reverse order in which it was allocated,
(not easy when you need data in FIFO order), everything seems just
fine.

An associate mentioned that vmalloc() night work better because
it doesn't fragment as badly. Is this true? The application is
a driver, but this buffering is not realtime, although it must
allocate kernel memory for buffering.

In any event, I continue to hear about 'out of memory' errors
killing off processes, refusing to fork, etc. Is anybody working
on this problem?


Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.2.5 on an i686 machine (400.59 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.022 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site