Cat on (RAM) steroids
Eli Billauer
eli at billauer.co.il
Sun Feb 5 10:41:25 IST 2012
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
More information about the Linux-il
mailing list