Well, the real reason is that the buffers in the kernel are allocated as
DMA memory. So it's not just a matter of getting hold of a lot of
memory, but a lot of memory which is continuous in its physical space.
Or more precisely, a lot of continuous buffers which are fairly large.
One could, of course, copy the data in the smaller DMA buffers to larger
buffers by virtue of some bottom-half interrupt handler (i.e. a
tasklet), but I think that's a safe way to stop your code from making it
to the kernel tree.
Besides, I have a faint memory of a limitation on the total RAM
allocatable inside the kernel. Was it 512MB? Has this limitation vanished?
Eli
Oron Peled wrote:
I fail to see why the kernel driver would be more limited in RAM
allocation than the utility you want?
After all, RAM is RAM if you have enough for the application to
use (you asked for non-pageable memory), than why can't the
kernel driver allocate it just the same and be done with it?
Bye,
--
Web: http://www.billauer.co.il
_______________________________________________
Linux-il mailing list
[email protected]
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il