From 9d8431267a82033d82678d1cb623013d51228c8f Mon Sep 17 00:00:00 2001 From: antrik Date: Wed, 9 Jul 2008 11:21:33 +0200 Subject: Add note about Sergiu Ivanov --- community/gsoc.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index 340948a6..7bb3e20f 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -23,6 +23,11 @@ The selected projects are: * Usable procfs implementation * dtrace support +Special cheers go to Sergiu Ivanov, whom we unfortunately couldn't select +because he was impeded during the application phase, but who nevertheless is +working on his project (namespace-based translator selection) as a volunteer +with a dedication matching that of the selected students! + The community bonding period has begun now, and lasts till the summer session starts by the end of May. Students are now preparing their projects, getting to know the stuff they will work on, as well as... us, the Hurd community :-) -- cgit v1.2.3 From 6c5f1cbc23e826a1653730036ed9acfd50b27c8d Mon Sep 17 00:00:00 2001 From: antrik Date: Wed, 9 Jul 2008 11:25:41 +0200 Subject: Update totally outdated note on status --- community/gsoc.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index 7bb3e20f..948a6e9c 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -28,9 +28,9 @@ because he was impeded during the application phase, but who nevertheless is working on his project (namespace-based translator selection) as a volunteer with a dedication matching that of the selected students! -The community bonding period has begun now, and lasts till the summer session -starts by the end of May. Students are now preparing their projects, getting to -know the stuff they will work on, as well as... us, the Hurd community :-) +The summer session has started by the end of May, and all the students are +making good progress. We are in good hopes of seeing five successful projects +at the end of this summer :-) ## '08 SoC students and interested non-students -- cgit v1.2.3 From 13cb1fb472bc55edabe9262ece9b5290488216a3 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 11 Jul 2008 10:52:23 +0200 Subject: New file [[hurd/io_path]], based on an email by Samuel Thibault, bug-hurd, 2008-03-27. --- hurd.mdwn | 1 + hurd/io_path.mdwn | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 hurd/io_path.mdwn diff --git a/hurd.mdwn b/hurd.mdwn index 1edf4d55..ff1f2916 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -64,5 +64,6 @@ * [[libstore]] * [[libchannel]] * [[libhello_example]] -- Hurd library example +* [[IO_Path]] * [[Debugging]] * [Hurd Sourcecode Reference](http://www.htu.tugraz.at/~past/hurd/global/): Searchable and browsable index of the code. diff --git a/hurd/io_path.mdwn b/hurd/io_path.mdwn new file mode 100644 index 00000000..96e6aa58 --- /dev/null +++ b/hurd/io_path.mdwn @@ -0,0 +1,37 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +# read + + * [[glibc]]'s `read` is in `glibc/sysdeps/mach/hurd/read.c:__libc_read`. + + * That calls `glibc/hurd/fd-read.c:_hurd_fd_read()`. + + * That calls `__io_read`, which is an [[RPC]], i.e., that actually results + into the [[translator/ext2fs]] server calling + `hurd/libdiskfs/io-read.c:diskfs_S_io_read`. + + * That calls `_diskfs_rdwr_internal`, which calls + `hurd/libpager/pager-memcpy.c:pager_memcpy`, which usually basically just + tell the kernel to virtually project the memory object corresponding to the + file in the caller process's memory. No read is actually done. + + * Then, when the process actually reads the data, the kernel gets the user + page fault (`gnumach/i386/i386/trap.c:user_trap`), which calls `vm_fault`, + etc., until actually getting to `gnumach/vm/vm_fault/vm_fault_page` which + eventually calls `memory_object_data_request`, which is an [[RPC]], i.e., + that actually results into the [[translator/ext2fs]] server calling + `hurd/libpager/data-request.c:_pager_seqnos_memory_object_data_request`. + + * That calls `hurd/ext2fs/pager.c:pager_read_page`, which looks for where the + data is on the disk, and eventually calls + `hurd/libstore/rdwr.c:store_read`, which eventually calls `device_read`, + which is an [[RPC]], i.e., that actually gets into the kernel calling + `gnumach/linux/dev/glue/block.c:device_read`. -- cgit v1.2.3