summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/gsoc/project_ideas/libgtop.mdwn7
-rw-r--r--community/meetings.mdwn5
-rw-r--r--community/meetings/fosdem_2012.mdwn8
-rw-r--r--community/meetings/ghm2012.mdwn13
-rw-r--r--community/weblogs/ArneBab/how-i-write-a-qoth.mdwn44
-rw-r--r--contributing/web_pages/news/writing_the_qoth.mdwn1
-rw-r--r--hurd.mdwn1
-rw-r--r--hurd/dde/guide.mdwn4
-rw-r--r--hurd/translator/short-circuiting.mdwn8
-rw-r--r--microkernel/mach/gnumach/debugging.mdwn6
-rw-r--r--open_issues/settrans_directory_symlink.mdwn52
-rw-r--r--user/Maksym_Planeta.mdwn16
12 files changed, 154 insertions, 11 deletions
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
index 8eb6953e..41897a1f 100644
--- a/community/gsoc/project_ideas/libgtop.mdwn
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010, 2012 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
@@ -10,6 +11,10 @@ is included in the section entitled
[[!meta title="Porting libgtop"]]
+/!\ On 2012-05-05 Andjos reported (commit
+web.git:8061106f2d1f15fa9a54947bc45d4cba68d89bba) that this task has already
+been completed.
+
libgtop is a library used by many applications (especially GNOME applications)
to abstract the system-specific methods for obtaining information about the
current state of the system -- processes running, system load etc.
diff --git a/community/meetings.mdwn b/community/meetings.mdwn
index 4ae52a1a..19c5a533 100644
--- a/community/meetings.mdwn
+++ b/community/meetings.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011 Free Software
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -16,12 +16,13 @@ License|/fdl]]."]]"""]]
## In the Future
- * [[FOSDEM_2012]]
+ * [[GNU Hackers Meeting, 2012, Düsseldorf|ghm2012]]
* [[Self-organised]]
# Past
+ * [[FOSDEM_2012]]
* [[FrOSCon_2011]]
* [[GNU Hackers Meeting, 2011, Paris|ghm2011]]
* [[FOSDEM_2011]]
diff --git a/community/meetings/fosdem_2012.mdwn b/community/meetings/fosdem_2012.mdwn
index b6f31efc..8143e236 100644
--- a/community/meetings/fosdem_2012.mdwn
+++ b/community/meetings/fosdem_2012.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-Foundation, Inc."]]
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012 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
@@ -22,10 +22,10 @@ Bruxelles.
[[!table class="table_style_1" data="""
"Name","Attending","Arrival","Return","Share room with us"
"[[Maksym Planeta]]","no"
-"Olaf Buddenhagen","most likely","","","yes"
+"Olaf Buddenhagen","yes","","","yes"
"Richard Braun","no"
"Svante Signell","no"
-"[[Thomas Schwinge|tschwinge]]","will try to","","","yes"
+"[[Thomas Schwinge|tschwinge]]","no"
"""]]
diff --git a/community/meetings/ghm2012.mdwn b/community/meetings/ghm2012.mdwn
new file mode 100644
index 00000000..0e3c8cd5
--- /dev/null
+++ b/community/meetings/ghm2012.mdwn
@@ -0,0 +1,13 @@
+[[!meta copyright="Copyright © 2012 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]]."]]"""]]
+
+[[!meta title="GNU Hackers Meeting, 2012, Düsseldorf"]]
+
+<http://www.gnu.org/ghm/2012/ddorf/>
diff --git a/community/weblogs/ArneBab/how-i-write-a-qoth.mdwn b/community/weblogs/ArneBab/how-i-write-a-qoth.mdwn
new file mode 100644
index 00000000..87b1f07d
--- /dev/null
+++ b/community/weblogs/ArneBab/how-i-write-a-qoth.mdwn
@@ -0,0 +1,44 @@
+I just read on the hurd IRC channel (chat: #hurd at irc.freenode.net), that people consider my work valuable (I knew that, and I think that myself, but it is still nice to hear), so I want to dispell any possible myth about it :)
+
+What I do is not hard - at least not anymore, since I created a simple structure for it (But it still takes time).
+
+First I open up the relevant mailing lists for the quarter. I get them from [[contributing/web_pages/news/writing_the_qoth]]. Normally I just use the following:
+
+* <http://lists.gnu.org/archive/html/bug-hurd/YYYY-MM/threads.html>
+* <http://lists.debian.org/debian-hurd/YYYY/MM/>
+
+Then I copy them 3 times and use M-x replace-string (in emacs) to adjust them to the correct months.
+
+Additionally I open the Arch Hurd news:
+
+* <http://www.archhurd.org/news.php>
+* <http://planet.archhurd.org/>
+
+Having all those news at hand, I read every thread-starter and every news-item. For each of them I first check if I understand them (no use trying to explain something I don’t get myself) and if they provide a way for people to test what they improved (however complex that might be), then I
+
+* note the name of the main contributor(-s),
+* write a line of text what it does (often partly copied from the news-item),
+* add a link to the news-item, a code-repo or a patch and
+* a note how that new development helps achieve the goals_of_the_Hurd (see [[contributing/web_pages/news/writing_the_qoth]] for details).
+
+With that list of short news I go into [[contributing/web_pages/news/qoth_next]].
+
+Now I identify 2 to 4 main news items by some kind of “helps the Hurd most when more people know it”, “biggest change” and similar fudgery :)
+
+Finally I sort all the news items by intuition, crude logic I develop on-the-fly writing and the goal of making the qoth read somewhat like nice prose.
+
+On the way to that I commit every little to medium step. I never know when I have to abort due to an interruption (I’m sure tschwinge loves my super-non-atomic horrible-to-review commits :-) - but better that than losing work == time, and I try to prefix the commit-messages with “news:” so he knows that it’s useless to review them as in-flight-patches…).
+
+Having finished the text (usually after 3 to 6 hours of overall work), I send it by mail to bug-hurd: <http://lists.gnu.org/archive/html/bug-hurd/>
+
+After about a week I incorporate the comments from there and publish the qoth as described in [[contributing/web_pages/news/writing_the_qoth]].
+
+Then tschwinge reviews it, does some last-minute changes and pushes it from the staging wiki to the website.
+
+And that’s it.
+
+I hope this small insight was interesting to you. Happy hacking and have fun with the Hurd!
+
+-- Arne Babenhauserheide
+
+PS: Writing this blog entry took about 20 minutes. The raw text is longer than a qoth, but it is much faster to write, because it avoids the main time-eater: Gathering the info with the necessary references to make sure that people can test what’s in here.
diff --git a/contributing/web_pages/news/writing_the_qoth.mdwn b/contributing/web_pages/news/writing_the_qoth.mdwn
index 6aea5f4d..88542255 100644
--- a/contributing/web_pages/news/writing_the_qoth.mdwn
+++ b/contributing/web_pages/news/writing_the_qoth.mdwn
@@ -11,6 +11,7 @@ License|/fdl]]."]]"""]]
# Short Guide for Writing the QotH
+The not yet published next Quarter of Hurd the can found at [[contributing/web_pages/news/qoth_next]].
## Individual News Items
diff --git a/hurd.mdwn b/hurd.mdwn
index 11995c87..1723c8b7 100644
--- a/hurd.mdwn
+++ b/hurd.mdwn
@@ -47,6 +47,7 @@ in the *unstable* branch of the Debian archive.
* Introductory Material
* [[Documentation]]
* [Gaël Le Mignot](http://kilobug.free.fr/hurd/pres-en/slides/slides.html)
+ * [Neal Walfield](http://kerneltrap.org/node/5)
* Architecture
* [[Towards_a_New_Strategy_of_OS_Design|hurd-paper]] by Thomas Bushnell, BSG.
* Marcus Brinkmann's [revisit](http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00651.html)
diff --git a/hurd/dde/guide.mdwn b/hurd/dde/guide.mdwn
index bf41dd79..132b36ae 100644
--- a/hurd/dde/guide.mdwn
+++ b/hurd/dde/guide.mdwn
@@ -14,6 +14,10 @@ with Debian GNU/Hurd,
if your (wired) network card
is not supported by the old in-kernel drivers shipped with gnumach.
+NOTE: As of hurd package 20120520-1, all that is already done for you, do *not*
+do anything mentioned below, and you just need to configure your TCP/IP stack by
+using settrans on /servers/socket/2, or dhclient /dev/eth0.
+
This guide assumes that you have
an installation of Debian GNU/Linux on the same machine,
which helps in fetching the required packages
diff --git a/hurd/translator/short-circuiting.mdwn b/hurd/translator/short-circuiting.mdwn
index 9de9f7b8..6f608fb2 100644
--- a/hurd/translator/short-circuiting.mdwn
+++ b/hurd/translator/short-circuiting.mdwn
@@ -1,12 +1,12 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2012 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
In traditional [[Unix]], file systems contain special files. These are:
symbolic links, character devices, block devices, named pipes, and
@@ -60,6 +60,8 @@ To make sure that you use one of these translators, there by bypassing the
short-circuiting mechanism, you can either start it as
an active translator, or use a different path from the one in
`hurd/path.h`, e.g. `settrans bar /hurd/./symlink foo`.
+There is also a `FS_TRANS_FORCE` flag defined for the `file_set_translator`
+RPCs, but it currently isn't set from anywhere.
The best example of how short-circuiting is implemented can be found
in [[`libdiskfs`|libdiskfs]]. Notice how it detects if a translator to store
diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn
index b57f0393..71e92459 100644
--- a/microkernel/mach/gnumach/debugging.mdwn
+++ b/microkernel/mach/gnumach/debugging.mdwn
@@ -29,7 +29,11 @@ To get the register values, type
show registers
-To get a backtrace, type trace, which will print both function return addresses and function parameters, such as
+To get a backtrace, type
+
+ trace
+
+, which will print both function return addresses and function parameters, such as
0x107cf1(8088488,5e,40000008,2aa008,0)
0x1071bc(0,0,0,0,0)
diff --git a/open_issues/settrans_directory_symlink.mdwn b/open_issues/settrans_directory_symlink.mdwn
new file mode 100644
index 00000000..86148a52
--- /dev/null
+++ b/open_issues/settrans_directory_symlink.mdwn
@@ -0,0 +1,52 @@
+[[!meta copyright="Copyright © 2012 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]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+This works:
+
+ $ touch a && settrans a /hurd/symlink b
+
+This doesn't:
+
+ $ mkdir a && settrans a /hurd/symlink b
+ settrans: a: Is a directory
+
+It's the same `file_set_translator` RPC both times, and it's [[translator
+short-circuiting|hurd/translator/short-circuiting]] which makes the latter one
+fail:
+
+`libdiskfs/file-set-trans.c`:
+
+ [...]
+ /* Set passive translator */
+ if (passive_flags & FS_TRANS_SET)
+ {
+ if (!(passive_flags & FS_TRANS_FORCE))
+ {
+ /* Handle the short-circuited translators */
+ mode_t newmode = 0;
+
+ if (diskfs_shortcut_symlink && !strcmp (passive, _HURD_SYMLINK))
+ newmode = S_IFLNK;
+ [...]
+
+ if (newmode)
+ {
+ if (S_ISDIR (np->dn_stat.st_mode))
+ {
+ /* We can't allow this, because if the mode of the directory
+ changes, the links will be lost. Perhaps it might be
+ allowed for empty directories, but that's too much of a
+ pain. */
+ mutex_unlock (&np->lock);
+ return EISDIR;
+ }
+ [...]
diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn
index a0a9c788..fccf3840 100644
--- a/user/Maksym_Planeta.mdwn
+++ b/user/Maksym_Planeta.mdwn
@@ -9,10 +9,26 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[!toc]]
+#GSoC 2012 - Disk I/O Performance Tuning
+
+15.06.12
+
+Explored gnumach code. First I was reimplementing vm_fault_page as coroutine that returns before executing of mo_data_{unlock,request} calls to vm_fault. vm_fault had to analyse state of vm_fault_page for every page in loop and make a decision regarding further behavior (call mo_data_*, go to next page, etc.). But than I've got that this way is much worse, than doing everything in vm_fault_page (like in OSF mach), so I made a back-off and started working on clustered paging from the beginning (at least now I see clearer how things should be). At the moment I review kam's patch one more time and looked through mklinux code attentively.
+
+8.06.12
+
+Applied Neal's patch that reworks libpager, changed libdiskfs, tmpfs and ext2fs according to new interface. ext2fs isn't finished yet and should be reworked, but looks like I brought some bug to existing implementation and i want first to fix it and than finish rest of ext2fs. Also I pushed some code changes to hurd git repository into my branch mplaneta/gsoc12/working. Now I start working on gnumach implementation of clustered page reading. After this I'm going to implement madvise, than finish ext2fs and start porting of other translators.
+
+14.05.12
+
+First of all I'm going to do 2 programs. First will work as server, it will create an object and share it with second. Second will try to access to this object. This will cause page fault and kernel will refer to first program (server). This way I will be able to track how page faults are resolved and this will help me in debugging of readahead. IFR: server probably can use some of hurd's libraries, but it has to handle m_o_* RPC's on it's own. TODO: Find out how supply second program (client) with new object. NB: be sure that client will cause page fault, so that server always will be called (probably any caching should be disabled).
+
#Notes on tmpfs
## Current state
+Finished
+
26.01.12
Infinite fsx on ext2fs: