From: ebiederm+eric@ccr.net (Eric W. Biederman)
To: linux-mm@kvack.org
Subject: [PATCH] dirty pages in memory & co.
Date: 07 May 1999 09:56:00 -0500 [thread overview]
Message-ID: <m1pv4ddj3z.fsf@flinx.ccr.net> (raw)
O.k. I've dug through all of my obvious bugs and I a working set of
kernel patches.
Currently they are against 2.2.5.
Location:
http://ebiederm/files/patches9.tar.gz
I consider this set of patches alpha (as I haven't had a chance to
stress test it yet). But if you want to see the direction I'm going
it's a good thing to look at.
Documentaion, porting shmfs, and stress testing are still to come.
The patches included are:
eb1 -- Allow reuse of page->buffers if you aren't the buffer cache
eb2 -- Allow old old a.out binaries to run even if we can't mmap them
properly because their data isn't page aligned.
eb3 -- Much with page offset.
eb4 -- Allow registration and unregistration for functions needed by
swap off.
eb5 -- Large file support, basically this removes unused bits from all
of the relevant interfaces.
eb6 -- Introduction of struct vm_store, and associated cleanups.
In particular get_inode_page.
eb7 -- Actuall patch for dirty buffers in the page cache.
I'm fairly well satisfied except for generic_file_write.
It looks like I need 2 variations on generic_file_write at the
moment.
1) for network filesystems that can get away without filling
the page on a partial write.
2) for block based filesystems that must fill the page on a
partial write because they can't write arbitrary chunks of
data.
TODO:
1) document the new interfaces
2) porting shmfs
3) stress testing.
4) Experimenting with heuristics so that programs that are writing
data faster than the disk can handle are put to sleep (think
floppies).
5) Playing with mapped memory, and removing the need for kpiod.
This will either require either reverse page tables, or
something equally effecting at finding page mappings from a struct page.
6) Removing the need for struct vm_operations in the vm_area_struct.
A struct vm_store can probably handle everything.
7) Removing the swap lock map, by modify ipc/shm to use the page cache
and vm_stores.
I'm going to visit my parents this weekend so I don't expect to get
much farther for a while.
Eric
--
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/
next reply other threads:[~1999-05-07 14:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-05-07 14:56 Eric W. Biederman [this message]
1999-05-10 0:57 ` Andrea Arcangeli
1999-05-11 1:06 ` Eric W. Biederman
1999-05-11 11:38 ` Andrea Arcangeli
1999-05-11 18:45 ` Stephen C. Tweedie
1999-05-10 19:37 ` Stephen C. Tweedie
1999-05-10 21:01 ` Benjamin C.R. LaHaise
1999-05-10 23:43 ` Stephen C. Tweedie
1999-05-11 0:30 ` Eric W. Biederman
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=m1pv4ddj3z.fsf@flinx.ccr.net \
--to=ebiederm+eric@ccr.net \
--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