diff options
-rw-r--r-- | contributing/web_pages/news/moth_next.mdwn | 7 | ||||
-rw-r--r-- | user/Maksym_Planeta.mdwn | 26 |
2 files changed, 28 insertions, 5 deletions
diff --git a/contributing/web_pages/news/moth_next.mdwn b/contributing/web_pages/news/moth_next.mdwn index c0467afa..cd03a366 100644 --- a/contributing/web_pages/news/moth_next.mdwn +++ b/contributing/web_pages/news/moth_next.mdwn @@ -90,7 +90,7 @@ And … * Maksym Planeta replaced GNUmach’s old zalloc memory allocator with the new balloc from Richard Braun - ([cleanup commit](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=8e78f3c0674cedc55953bf36d88c664ea80380a2)), + ([integration commit](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=50d073c5ef0feb1676606d0068abf626e8297cd7)), which handles slabs and should waste less memory than zalloc. Also balloc has a cpu cache level, so it should work faster on SMP systems, once we get up do date SMP CPU drivers for GNUmach. @@ -103,6 +103,9 @@ And … [port your favorite missing package](http://www.debian.org/ports/hurd/hurd-devel-debian) to the Hurd. - * buildd, porterbox and public boxes at sceen.net, provided by Richard Braun. + * And Richard Braun contributed a new + [[buildd,_porterbox_and_public_box|public_hurd_boxen]] via + sceen.net, making it easier to test the Hurd without much setup as + well as improving debian packaging. """]] diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 64dc6e19..477f11ed 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -9,11 +9,31 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!toc]] -Notes on tmpfs -============== +#Notes on tmpfs + +## mach-defpager + + <tschwinge>: 1. On every system there is a ``default pager'' (mach-defpager). That one is responsible + for all ``anonymous memory''. For example, when you do malloc(10 MiB), and then there is memory pressure, + this 10 MiB memory region is backed by the default pager, whose job then is it to provide the backing store for this. + <tschwinge>: This is what commonly would be known as a swap partition. + <tschwinge>: And this is also the way tmpfs works (as I understand it). + <tschwinge>: malloc(10 MiB) can also be mmap(MAP_ANONYMOUS, 10 MIB); that's the same, essentially. + <tschwinge>: Now, for ext2fs or any other disk-based file system, this is different: + <tschwinge>: The ext2fs translator implements its own backing store, namely it accesses the disk for storing + changed file content, or to read in data from disk if a new file is opened. + +## Steps + +1. Find out what causes crashes in tmpfs with defpager + +2. Write own pager + + 6.11.11 Reading/writing for files that fit in vm_page_size works #Debugging To debug tmpfs, using libraries from "$PWD"/lib and trace rpc: -settrans -ca foo /usr/bin/env LD_LIBRARY_PATH="$PWD"/lib utils/rpctrace -I /usr/share/msgids/ tmpfs/tmpfs 1M + settrans -ca foo /usr/bin/env LD_LIBRARY_PATH="$PWD"/lib utils/rpctrace -I /usr/share/msgids/ tmpfs/tmpfs 1M + LD_LIBRARY_PATH="$PWD"/lib gdb tmpfs/tmpfs 698 |