aboutsummaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2011-11-06 22:24:34 +0100
committerThomas Schwinge <thomas@schwinge.name>2011-11-06 22:24:34 +0100
commit99363a2f1ef3928ac71a04644f1c445c9118f92a (patch)
tree4c36c3fc9e403bc9fdb8c8162e1b09f0e4511715 /user
parentaabfaee0ff59555d4e18d263d1ec760e34d10f2e (diff)
parent0bfe39bd20bbec4d2b61f46d6d6b62a98890b1e7 (diff)
downloadweb-99363a2f1ef3928ac71a04644f1c445c9118f92a.tar.gz
web-99363a2f1ef3928ac71a04644f1c445c9118f92a.tar.bz2
web-99363a2f1ef3928ac71a04644f1c445c9118f92a.zip
Merge remote-tracking branch 'flubber/master'
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