lkml.org 
[lkml]   [1997]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: fork: out of memory
On Wed, 26 Nov 1997, Mike Jagdis wrote:

> > But if we need a DMA buffer that is physically contiguous can't we
> > just move non-DMA pages around and adjust the page tables such that
> > logical addresses stay the same?
>
> Assuming you know which pages are only accessed using logical
> addresses. We currently have no way of knowing that a page was
> allocated *because* it was DMA-able.
>
> Besides which remapping implies that you would have to relocate
> the page in kernel virtual space (since multi-page allocations

No, we could allocate a certain region in memory (1 MB?) to be
used for buffer/cache/DMA usage only...
Then there's no need to muck with page-table's or whatever...
bye-bye race conditions :)

> > It should be possible to change page tables and let all other references
> > stay the same.
>
> I meant, "references by ptes". If you move a page that is shared
> many times (such as a libc page) you will change a fair few ptes,
> flush a load of tlb entries and bounce quite a few L1/L2 cache
> entries. So remapping has quite a cost and should only be a
> late resort solution (last resort would be to just junk the pages,
> assuming clean, and page them back in when needed).

see above...

grtz,

Rik.

----------
Send Linux memory-management wishes to me: I'm currently looking
for something to hack...


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