lkml.org 
[lkml]   [1997]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Kernel virtual memory?
>> DMA memory could be allocated by moving allocated blocks away from the 
>> lower 16MB, and other parts of kernel could be made happy by changing the
>> page tables accordingly.
>
>Erm DMA stands for direct memory access, the CPU doesn't get a look-in
>(past seting it all up), and so can't mess about (that's the advantage,
>the CPU isn't tied up).

Yes yes yes yes, but you need the memory where the data is transferred
to/from and it must reside below 16MB, if the lower 16MB is full you can't
allocate DMA buffers! Thus when you insmod a module you may get errors that
"can't alloc dma memory" or similar. That's why those pages should be moved
out of the way! And no, I don't mean that if this kind of feature is added
coders should begin doing something idiotic like this:

alloc_dma_mem();
begin_dma();

interrupt_handler() { if(dma_done) free_dma_mem(); }

Just to clarify, the DMA part of this suggestion is only for those rare
situations when ftape/floppy driver shouts that it can't alloc DMAable page.
The main point was that the memory fragmentation would no longer be an
issue, and I think that this would remove some kludges.. At least that's
what I gathered from the SLAB discussion, *I* haven't looked at that part of
the code so the kludges part is just wild guessing.. :)

I hope you guys now understand what I mean, so you can tell me if it'll work
:^)

--
Air is water with holes in it.

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