linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Chris Wedgwood <cw@ix.net.nz>
Cc: Gabor Lenart <lgb@oxygene.terra.vein.hu>,
	linux-kernel@vger.rutgers.edu, linux-mm@kvack.org
Subject: Re: [VFS] move active filesystem
Date: Wed, 19 May 1999 18:28:04 +0200 (CEST)	[thread overview]
Message-ID: <Pine.LNX.4.05.9905191820290.3829-100000@laser.random> (raw)
In-Reply-To: <19990518183725.B30692@caffeine.ix.net.nz>

On Tue, 18 May 1999, Chris Wedgwood wrote:

>> And what about a more inteligent DMA memory allocator ? I mean, in
>> case of fragmented memory it's very frequent not to success to
>> allocate DMA memory by kernel (eg by sound/floppy modules). Why
>> does not kernel moves some memory, changing some pagetable entries
>> etc to create contigous memory area suitable for DMA (in low 16M
>> for ISA DMA, care of page boundaries etc). If there's enough memory
>> to do it, it would be only some memory moving action to get the
>> suitable place.
>> 
>> (I don't know too much about Linux kernel internals, maybe DMA
>> memory allocating is something atomic operation which blocks the
>> kernel too long to do such an operation I described below ?)
>
>Right now, we can't tell which pages are in use by what, so moving

Not really. We obviously can, but not in O(1). I could just add the logic
to have the information in O(1), but then you must know that at every
allocation you'll have to insert a entry in a queue, and remove an entry
from a queue at every umapping/freeing of memory. Anyway I'll think I'll
do that very soon to improve and simplify a lot my update_shared_mappings
and many other similar thing in order to handle all such things in O(1).
(and btw with such info my new shrink_mmap will be also able to unmap and
free page/swap cache directly from the pagemap-lru (I am talking about my
current code, the stock kernel doesn't have a real lru))

BTW, allowing dirty pages in the page cache may avoid I/O to disk but
won't avoid memcpy data to the page cache even if the page cache was just
uptdate. So I am convinced right now update_shared_mappings() is the right
thing to do and it's not an dirty hack. It's only a not very efficient
implementation that has to play with pgd/pmd/pte because we don't have
enough information (yet) from the pagemap.

Andrea Arcangeli

--
To unsubscribe, send a message with 'unsubscribe linux-mm my@address'
in the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/

       reply	other threads:[~1999-05-19 16:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <19990518183725.B30692@caffeine.ix.net.nz>
1999-05-19 16:28 ` Andrea Arcangeli [this message]
1999-05-19 20:09   ` Chris Wedgwood
1999-05-26 16:14   ` Stephen C. Tweedie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.05.9905191820290.3829-100000@laser.random \
    --to=andrea@suse.de \
    --cc=cw@ix.net.nz \
    --cc=lgb@oxygene.terra.vein.hu \
    --cc=linux-kernel@vger.rutgers.edu \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox