summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/Maksym_Planeta.mdwn26
1 files changed, 23 insertions, 3 deletions
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