Messages in this thread |  | | Date | Wed, 30 Oct 1996 02:05:25 -0500 (EST) | From | "David S. Miller" <> | Subject | Re: memory management question |
| |
Date: Wed, 30 Oct 1996 00:50:44 -0600 (CST) From: Sunil Jagannath <sunil@tisl.ukans.edu>
The machine i'm using has 32M of RAM and i'm testing the data path using ttcp_atm programmed to send 2K blocks of 8Kb size each. i was wondering how the RAM is partitioned on a linux box and whether there is any way of increasing the maximum size of the allocation for kernel memory.
In the kernel are you allocating buffers greater than PAGE_SIZE? (4096 bytes on an Intel) If so, this is dangerous and not guarenteed to always work even if memory is available.
This is because the free pages in the system are kept track of via buddy system (See Knuth, Fundamental Algorithms, very last section of Chapter 2 for details). Thus you can end up with a situation where the free page pool is fragmented, lots of single pages are available to use but very few or no 2-page (or larger orders of PAGE_SIZE magnitude) clicks can be "buddied up" to satisfy your request.
I'm sure people doing fddi and ATM drivers (Werner?) have run into this problem. Maybe they can tell you how they have dealt with this situation.
David S. Miller davem@caip.rutgers.edu
|  |