From 5949dd45e08b71ae3c35f6a4e89f25f3a39647d1 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmPOF1rltm6jyLFzlT6r7RusTawBfIV0ds" Date: Tue, 15 Nov 2011 11:06:22 +0100 Subject: --- contributing/web_pages/news/moth_next.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/contributing/web_pages/news/moth_next.mdwn b/contributing/web_pages/news/moth_next.mdwn index 78db041d..3614af8c 100644 --- a/contributing/web_pages/news/moth_next.mdwn +++ b/contributing/web_pages/news/moth_next.mdwn @@ -27,6 +27,18 @@ else=" This month [hurd hacker] [item] +*IRC 2011-11-14* +rbraun committed the last patch to mplanetas branch of the slab allocator work, for integration. +Features: +22:30:39) braunr: there shouldn't be any noticeable difference with the master branch +(22:30:46) braunr: a bit less fragmentation +(22:30:55) braunr: more memory can be reclaimed by the VM system +(22:31:02) braunr: there are debugging features +(22:31:06) braunr: it's SMP ready +(22:31:15) braunr: and overall cleaner than the zone allocator +(22:31:31) braunr: although a bit slower on the free path (because of what's performed to reduce fragmentation) +22:32:42) braunr: but even "slower" here is completely negligible + Also … [our hackers] … -- cgit v1.2.3 From a558942eb922f7f547069fa55956cca25d0e38f9 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmPOF1rltm6jyLFzlT6r7RusTawBfIV0ds" Date: Tue, 15 Nov 2011 11:11:56 +0100 Subject: --- contributing/web_pages/news/moth_next.mdwn | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/contributing/web_pages/news/moth_next.mdwn b/contributing/web_pages/news/moth_next.mdwn index 3614af8c..b23bfd56 100644 --- a/contributing/web_pages/news/moth_next.mdwn +++ b/contributing/web_pages/news/moth_next.mdwn @@ -27,17 +27,30 @@ else=" This month [hurd hacker] [item] -*IRC 2011-11-14* +**http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00079.html** + +Bouju Alain submitted a patch to suport cpuinfo in the /proc interface + +**IRC 2011-11-14** rbraun committed the last patch to mplanetas branch of the slab allocator work, for integration. + Features: -22:30:39) braunr: there shouldn't be any noticeable difference with the master branch + +(22:30:39) braunr: there shouldn't be any noticeable difference with the master branch + (22:30:46) braunr: a bit less fragmentation + (22:30:55) braunr: more memory can be reclaimed by the VM system + (22:31:02) braunr: there are debugging features + (22:31:06) braunr: it's SMP ready + (22:31:15) braunr: and overall cleaner than the zone allocator + (22:31:31) braunr: although a bit slower on the free path (because of what's performed to reduce fragmentation) -22:32:42) braunr: but even "slower" here is completely negligible + +(22:32:42) braunr: but even "slower" here is completely negligible Also … -- cgit v1.2.3 From c26e348b5c206a34be3660eb0864c285d510460e Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmPOF1rltm6jyLFzlT6r7RusTawBfIV0ds" Date: Tue, 15 Nov 2011 11:30:06 +0100 Subject: --- contributing/web_pages/news/moth_next.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contributing/web_pages/news/moth_next.mdwn b/contributing/web_pages/news/moth_next.mdwn index b23bfd56..899e3958 100644 --- a/contributing/web_pages/news/moth_next.mdwn +++ b/contributing/web_pages/news/moth_next.mdwn @@ -32,6 +32,7 @@ This month [hurd hacker] [item] Bouju Alain submitted a patch to suport cpuinfo in the /proc interface **IRC 2011-11-14** + rbraun committed the last patch to mplanetas branch of the slab allocator work, for integration. Features: @@ -52,6 +53,10 @@ Features: (22:32:42) braunr: but even "slower" here is completely negligible +**New porter box: exodar*** + +Add stuff here? (This is already in q3) + Also … [our hackers] … -- cgit v1.2.3 From 23602d0b8098930a0c61556070d59706114580e7 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 16 Nov 2011 09:42:49 +0100 Subject: --- user/Maksym_Planeta.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 6f4bda77..fc1b3784 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -55,12 +55,16 @@ since this parameter is unused TODO: Find out why and correct this. -#Translators vs FUSE +#Chalanges + +Translators vs FUSE: [[What can a translator do that FUSE can't?|http://lists.gnu.org/archive/html/bug-hurd/2010-07/msg00061.html]] [[Re: Hurd translators on FUSE|http://lists.gnu.org/archive/html/l4-hurd/2009-09/msg00146.html]] +[[Example of sane utilization of tmpfs|http://habrahabr.ru/blogs/gdev/131043/]] (Russian) + #Debugging To debug tmpfs, using libraries from "$PWD"/lib and trace rpc: -- cgit v1.2.3 From 15ec61e43d74d52d55944e54027b0f967f63faa4 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 16 Nov 2011 09:56:05 +0100 Subject: --- user/Maksym_Planeta.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index fc1b3784..5bea897c 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -63,7 +63,7 @@ Translators vs FUSE: [[Re: Hurd translators on FUSE|http://lists.gnu.org/archive/html/l4-hurd/2009-09/msg00146.html]] -[[Example of sane utilization of tmpfs|http://habrahabr.ru/blogs/gdev/131043/]] (Russian) +[[Example of sane utilization of filesystem stored in RAM|http://habrahabr.ru/blogs/gdev/131043/]] (Russian). Author of this article copied some resources of game "World of Tanks" to RAM-drive and game started load much faster. Although he used Windows in this article, this could be good example of benefits, which filesystem, stored in RAM, could give. #Debugging -- cgit v1.2.3 From 22eb837b97541725ae9650e074c09bb6d7f8dd10 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 17 Nov 2011 14:00:50 +0100 Subject: hurd/translator/hello: New. --- hurd/io_path.mdwn | 6 +++--- hurd/translator.mdwn | 1 + hurd/translator/hello.mdwn | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 hurd/translator/hello.mdwn diff --git a/hurd/io_path.mdwn b/hurd/io_path.mdwn index 492edffe..c47b5dca 100644 --- a/hurd/io_path.mdwn +++ b/hurd/io_path.mdwn @@ -46,9 +46,9 @@ Back in `_Xio_read`. If the 2048 byte buffer is not decided to be used (out-of-line case or bigger than 2048 bytes case; server decides to instead provide a new memory region), -the [[`dealloc`|microkernel/mach/mig/dealloc]] flag is being set, which causes -Mach to unmap that memory region from the server's address space, i.e., doing a -memory *move* from the server to the client. +the [[`dealloc`|microkernel/mach/mig/documentation/dealloc]] flag is being set, +which causes Mach to unmap that memory region from the server's address space, +i.e., doing a memory *move* from the server to the client. Leave server-side RPC stub `_Xio_read`. diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index bf7af3ce..3527267f 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -80,6 +80,7 @@ The [[concept|concepts]] of translators creates its own problems, too: # Existing Translators +* [[hello]] * [[auth]] * [[exec]] * [[pfinet]] diff --git a/hurd/translator/hello.mdwn b/hurd/translator/hello.mdwn new file mode 100644 index 00000000..bd56cd76 --- /dev/null +++ b/hurd/translator/hello.mdwn @@ -0,0 +1,14 @@ +[[!meta copyright="Copyright © 2011 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]]."]]"""]] + +The *hello* translator is an example of a simple [[libtrivfs]]-based one-node +[[translator]]. It is shipped as part of the [[Hurd source code +repository|source_repositories]], and exists in a single-threaded and a +multi-threaded variant. -- cgit v1.2.3 From 7ee8fdbd4c4e73f075b73a4567734ea4faf8a6e0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 17 Nov 2011 14:56:39 +0100 Subject: news/2011-q3: Make a pass over it and finalize. --- community/meetings.mdwn | 3 +- community/meetings/froscon_2011.mdwn | 15 +++ community/meetings/ghm2011.mdwn | 14 ++ contributing/web_pages/news/moth_next.mdwn | 62 +++++---- contributing/web_pages/news/skeleton.mdwn | 33 ++--- hurd/dde/guide.mdwn | 2 +- media_appearances.mdwn | 5 + microkernel/mach/gnumach.mdwn | 5 +- news/2011-q3.mdwn | 200 ++++++++++++++--------------- 9 files changed, 181 insertions(+), 158 deletions(-) create mode 100644 community/meetings/froscon_2011.mdwn diff --git a/community/meetings.mdwn b/community/meetings.mdwn index 6c15d144..1c1a2cfc 100644 --- a/community/meetings.mdwn +++ b/community/meetings.mdwn @@ -13,7 +13,6 @@ License|/fdl]]."]]"""]] # Upcoming - * [[GNU Hackers Meeting, 2011, Paris|ghm2011]] ## In the Future @@ -22,6 +21,8 @@ License|/fdl]]."]]"""]] # Past + * [[FrOSCon_2011]] + * [[GNU Hackers Meeting, 2011, Paris|ghm2011]] * [[FOSDEM_2011]] * [[DebConf10]] * [[GNU Hackers Meeting, 2010, Den Haag|ghm2010]] diff --git a/community/meetings/froscon_2011.mdwn b/community/meetings/froscon_2011.mdwn new file mode 100644 index 00000000..b15140d6 --- /dev/null +++ b/community/meetings/froscon_2011.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2011 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="FrOSCon, 2011, Sankt Augustin, Germany"]] + + + + * [Arch Hurd booth](http://www.froscon.de/en/exhibitors/projekte.html#c1413) diff --git a/community/meetings/ghm2011.mdwn b/community/meetings/ghm2011.mdwn index 7a2df8a0..8e77d500 100644 --- a/community/meetings/ghm2011.mdwn +++ b/community/meetings/ghm2011.mdwn @@ -11,3 +11,17 @@ License|/fdl]]."]]"""]] [[!meta title="GNU Hackers Meeting, 2011, Paris"]] + + * {{$thibault_hurd}} + + +[[!ymlfront data=""" + +thibault_hurd: + + "presentation by Samuel Thibault: [*GNU/Hurd, aka. Extensibility from the + Ground*](http://www.gnu.org/ghm/2011/paris/#outline-container-2-5) + ([slides](http://www.gnu.org/ghm/2011/paris/slides/samuel-thibault-hurd.pdf), + [video](http://audio-video.gnu.org/video/ghm2011/Samuel_Thibault-GNU_Hurd.ogv))" + +"""]] diff --git a/contributing/web_pages/news/moth_next.mdwn b/contributing/web_pages/news/moth_next.mdwn index 899e3958..029c6769 100644 --- a/contributing/web_pages/news/moth_next.mdwn +++ b/contributing/web_pages/news/moth_next.mdwn @@ -27,31 +27,26 @@ else=" This month [hurd hacker] [item] -**http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00079.html** + -- Bouju +Alain submitted a patch to suport cpuinfo in the /proc interface -Bouju Alain submitted a patch to suport cpuinfo in the /proc interface +rbraun committed the last patch to mplanetas branch of the slab allocator +work, for integration. -**IRC 2011-11-14** - -rbraun committed the last patch to mplanetas branch of the slab allocator work, for integration. +IRC, freenode, #hurd, 2011-11-14: Features: -(22:30:39) braunr: there shouldn't be any noticeable difference with the master branch - -(22:30:46) braunr: a bit less fragmentation - -(22:30:55) braunr: more memory can be reclaimed by the VM system - -(22:31:02) braunr: there are debugging features - -(22:31:06) braunr: it's SMP ready - -(22:31:15) braunr: and overall cleaner than the zone allocator - -(22:31:31) braunr: although a bit slower on the free path (because of what's performed to reduce fragmentation) - -(22:32:42) braunr: but even "slower" here is completely negligible + (22:30:39) braunr: there shouldn't be any noticeable difference with the + master branch + (22:30:46) braunr: a bit less fragmentation + (22:30:55) braunr: more memory can be reclaimed by the VM system + (22:31:02) braunr: there are debugging features + (22:31:06) braunr: it's SMP ready + (22:31:15) braunr: and overall cleaner than the zone allocator + (22:31:31) braunr: although a bit slower on the free path (because of + what's performed to reduce fragmentation) + (22:32:42) braunr: but even "slower" here is completely negligible **New porter box: exodar*** @@ -67,22 +62,23 @@ Additionally … And … -So if you want to [reason for contibuting to the Hurd] please [[get_in_contact|contact_us]] - and maybe grab [[our_source_repos|source_repositories]]. +So if you want to [reason for contibuting to the Hurd], +please [[get in contact|contact_us]] -- and maybe already grab the [[source +code|source_repositories]]. ------- +--- -The **GNU Hurd** is the GNU project's replacement for the Unix kernel. -It is a collection of servers that run on the Mach microkernel to -implement file systems, network protocols, file access control, and -other features that are implemented by the Unix kernel or similar -kernels (such as Linux). -[[More_detailed|hurd/documentation]]. +The **GNU Hurd** is the GNU project's replacement for the Unix kernel. It is a +collection of servers that run on the Mach microkernel to implement file +systems, network protocols, file access control, and other features that are +implemented by the Unix kernel or similar kernels (such as Linux). [[More +detailed|hurd/documentation]]. -**GNU Mach** is the microkernel upon which GNU Hurd is based. It -offers Inter Process Communication (IPC) which the Hurd uses to define -interfaces for implementing the services an operating system needs -from a full-featured kernel. -[[Read_more|microkernel/mach/gnumach]] +**GNU Mach** is the microkernel upon which a GNU Hurd system is based. It +provides an Inter Process Communication (IPC) mechanism that the Hurd uses to +define interfaces for implementing in a distributed multi-server fashion the +services a traditional operating system kernel provides. [[More +detailed|microkernel/mach/gnumach]]. diff --git a/contributing/web_pages/news/skeleton.mdwn b/contributing/web_pages/news/skeleton.mdwn index 78db041d..d78d1b5a 100644 --- a/contributing/web_pages/news/skeleton.mdwn +++ b/contributing/web_pages/news/skeleton.mdwn @@ -37,22 +37,23 @@ Additionally … And … -So if you want to [reason for contibuting to the Hurd] please [[get_in_contact|contact_us]] - and maybe grab [[our_source_repos|source_repositories]]. - ------- - -The **GNU Hurd** is the GNU project's replacement for the Unix kernel. -It is a collection of servers that run on the Mach microkernel to -implement file systems, network protocols, file access control, and -other features that are implemented by the Unix kernel or similar -kernels (such as Linux). -[[More_detailed|hurd/documentation]]. - -**GNU Mach** is the microkernel upon which GNU Hurd is based. It -offers Inter Process Communication (IPC) which the Hurd uses to define -interfaces for implementing the services an operating system needs -from a full-featured kernel. -[[Read_more|microkernel/mach/gnumach]] +So if you want to [reason for contibuting to the Hurd], +please [[get in contact|contact_us]] -- and maybe already grab the [[source +code|source_repositories]]. + +--- + +The **GNU Hurd** is the GNU project's replacement for the Unix kernel. It is a +collection of servers that run on the Mach microkernel to implement file +systems, network protocols, file access control, and other features that are +implemented by the Unix kernel or similar kernels (such as Linux). [[More +detailed|hurd/documentation]]. + +**GNU Mach** is the microkernel upon which a GNU Hurd system is based. It +provides an Inter Process Communication (IPC) mechanism that the Hurd uses to +define interfaces for implementing in a distributed multi-server fashion the +services a traditional operating system kernel provides. [[More +detailed|microkernel/mach/gnumach]]. diff --git a/hurd/dde/guide.mdwn b/hurd/dde/guide.mdwn index a3c08754..6a83519c 100644 --- a/hurd/dde/guide.mdwn +++ b/hurd/dde/guide.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010,2011 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011 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 diff --git a/media_appearances.mdwn b/media_appearances.mdwn index b52b80bf..c005c381 100644 --- a/media_appearances.mdwn +++ b/media_appearances.mdwn @@ -18,6 +18,11 @@ A lot of stuff is missing here. # 2011 +## August + + * GNU Hackers Meeting in Paris: {{$community/meetings/ghm2011#thibault_hurd}} + + ## July diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index d9ff6535..edd0cfdb 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -9,7 +9,10 @@ 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]]."]]"""]] -GNU Mach is the microkernel that the GNU/Hurd system is based on. +GNU Mach is the microkernel upon which a GNU Hurd system is based. It provides +an Inter Process Communication (IPC) mechanism that the Hurd uses to define +interfaces for implementing in a distributed multi-server fashion the services +a traditional operating system kernel provides. It is maintained by the Hurd developers for the GNU project and remains compatible with [[Mach]] 3.0. diff --git a/news/2011-q3.mdwn b/news/2011-q3.mdwn index de7b869b..c1a78319 100644 --- a/news/2011-q3.mdwn +++ b/news/2011-q3.mdwn @@ -8,14 +8,10 @@ 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 date="2011-11-17 14:15 UTC"]] - - -A quarter of the Hurd: *Arch with DDE*, *Debian boxes*, *GHM talk*, *GNU Mach fixes* and *GSoC: Java*. +A quarter of the Hurd: *Arch Hurd with DDE*, *Debian boxes*, *GHM talk* and +*GSoC: Java*. [[!if test="included()" then="""[[!toggle id=full_news text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]""" else=" @@ -23,106 +19,98 @@ else=" [[!cut id="full_news" text=""" - - -In the third quarter of 2011, the Arch Hurd Hackers [packaged DDE](http://www.archhurd.org/news/22/), -so a subset of Linux 2.6 drivers can now be compiled on Arch Hurd to -run in userspace. At the time of writing it supports network cards, -while other driver-types still need their interfaces ported. Also they -had -[a booth at FrOSCon](http://www.froscon.de/en/exhibitors/projekte.html) -and -[released a new Arch Hurd LiveCD](http://www.archhurd.org/news/24/), -so new users can easily test the current state of the Arch flavor of -the Hurd. - -Also Richard Braun contributed new Debian and KVM-based -[[buildd,_porterbox_and_public_box|public_hurd_boxen]], making it -easier to test the Hurd without much setup as well as improving debian -packaging. - -Samuel Thibault wrote a new -[Bits from the Debian GNU/Hurd porters](http://lists.debian.org/debian-devel-announce/2011/07/msg00002.html) -to keep the Debian Folks up to date with the results of our work. And -these are quite good: Thanks to the relentless work of our porters, -you can now use -[70% of debian packages with the Hurd](https://buildd.debian.org/stats/graph-big.png), -so we’re coming closer towards -[getting Hurd into Debian as a release arch](http://wiki.debian.org/Debian_GNU/Hurd). If -you can port debian packages and want to help the Hurd, this is the -perfect time to get in contact and -[port your favorite missing package](http://www.debian.org/ports/hurd/hurd-devel-debian) -to the Hurd. - -A different type of status update was delivered by Samuel Thibault on -the GNU Hacker Meeting (GHM). Since the videos and slides from the GNU -Hacker Meeting 2011 in Paris are -[online](http://www.gnu.org/ghm/2011/paris/), now, we hope you enjoy -his talk on -[GNU/Hurd, aka. Extensibility from the Ground (video)](http://audio-video.gnu.org/video/ghm2011/Samuel_Thibault-GNU_Hurd.ogv) -([slides](http://www.gnu.org/ghm/2011/paris/slides/samuel-thibault-hurd.pdf)). He -explains nicely how the simple concept of translators gives power to -non-priviledged and casual users (once we get some of these :) ) -without security implications, and how Sub-Hurds and Neighbor-Hurds -compare to Linux containers. - - “It’s all about freedom #0” - -On the technical side, Thomas Schwinge improved the technical -documentation of the [[hurd/io_path]] in translators to make it easier -for new developers to start hacking and Guillem Jover, Fridolin -Pokorny and Jonathan Neuschäfer +In the third quarter of 2011, the Arch Hurd hackers [packaged DDE (Device +Driver Environment)](http://www.archhurd.org/news/22/), so a subset of the +Linux 2.6 device drivers can now easily be run as user-space processes on Arch +Hurd, replacing GNU Mach's in-kernel device drivers. (This has been possible +before, too, but involved several [[manual steps|hurd/dde/guide]].) At the +time of writing, our DDE port supports several network cards, while for other +driver types we will need to add further generic infrastructure. Also, Arch +Hurd had [a booth at +FrOSCon](http://www.froscon.de/en/exhibitors/projekte.html#c1413) and [released +a new Arch Hurd LiveCD](http://www.archhurd.org/news/24/), so new users can +easily test the current state of the Arch flavor of the Hurd. + +Richard Braun contributed additional GNU Hurd instances: [[a *Debian buildd*, a +*Debian porterbox*, and a *public Hurd box*|public_hurd_boxen]]. Especially +the last one is important for *you*: after requesting an account, you can use +it to test the Hurd without any own setup. + +Samuel Thibault sent a new [Bits from the Debian GNU/Hurd +porters](http://lists.debian.org/debian-devel-announce/2011/07/msg00002.html) +to keep the Debian folks up to date with our progres. And it is quite good: +thanks to the relentless work of our porters, you can now use [70 % of all +Debian packages with the Hurd](https://buildd.debian.org/stats/graph-big.png), +so we're getting closer to [the goal of finishing a Release Canditate in time +for Debian Wheezy](http://wiki.debian.org/Debian_GNU/Hurd). If you can, for +example, port Debian packages and want to help the Hurd, this is the perfect +time to get in contact and [port your favorite missing +package](http://www.debian.org/ports/hurd/hurd-devel-debian) to the Hurd. + +A different kind of status update was delivered by Samuel Thibault on the [[GNU +Hacker Meeting (GHM) in Paris|community/meetings/ghm2011]]. We hope you enjoy +watching the video of the {{$community/meetings/ghm2011#thibault_hurd}}. He +nicely explains how the simple yet powerful concept of a [[hurd/translator]] +gives power to a system's less-priviledged users (that is, without `root` +access), without any security implications, and how [[hurd/subhurd]]s and +[[hurd/neighborhurd]]s compare to Linux containers. *It's all about [freedom +0](http://www.gnu.org/philosophy/free-sw.html)*. + +On the technical side, Thomas Schwinge improved the technical documentation of +the [[I/O path|hurd/io_path]] when translators are involved, to make it easier +for new developers to understand how all the different system components +interact. Amongst others, Guillem Jover, Fridolín Pokorný and Jonathan +Neuschäfer [sent](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00184.html) [many](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00093.html) -[patches](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00030.html) -for GNU Mach, improving stability, fixing memory leaks and cleaning up -code. - -Additionally Maksym Planeta replaced GNU Mach’s old zone memory -allocator with the new slab allocator from Richard Braun -([integration commit](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=50d073c5ef0feb1676606d0068abf626e8297cd7)), -which should waste less memory than the zone allocator. Also it has a -cpu cache level, so it should work faster on SMP systems, once we get -up do date SMP CPU drivers for GNU Mach. It is now being integrated. - -And last but definitely not least, Jeremie Koenig finished his Google -Summer of Code project to -[Improve Java on Hurd](http://www.gnu.org/software/hurd/user/jkoenig/java.html). He -[improved the Hurd signalling](http://lists.gnu.org/archive/html/bug-hurd/2011-06/msg00073.html), -ported OpenJDK and created a -[Java Hurd-Library](https://github.com/jeremie-koenig/hurd-java) which -already allows writing a -[Hello World translator in Java](https://github.com/jeremie-koenig/hurd-java/blob/master/HelloMach.java). It -is still pretty low-level, but it paves the way for extending the core -of the Hurd with Java, which gets the count of supported languages to -3: -[C(++)](http://www.gnu.org/software/hurd/hacking-guide/hhg.html#An-Example-using-trivfs), -[[common_lisp|user/flaviocruz]] and Java. - -So if you want to help get the Hurd into Debian as a full release arch, -so the power to the Hurd gives to casual users can actually get into -the Hands of these, or dig dig deep into DDE to have more Linux -drivers running in Userspace, please [[get_in_contact|contact_us]] - -and maybe grab [[our_source_repos|source_repositories]]. - ------- - -The **GNU Hurd** is the GNU project's replacement for the Unix kernel. -It is a collection of servers that run on the Mach microkernel to -implement file systems, network protocols, file access control, and -other features that are implemented by the Unix kernel or similar -kernels (such as Linux). -[[More_detailed|hurd/documentation]]. - -**GNU Mach** is the microkernel upon which GNU Hurd is based. It -offers Inter Process Communication (IPC) which the Hurd uses to define -interfaces for implementing the services an operating system needs -from a full-featured kernel. -[[Read_more|microkernel/mach/gnumach]] - - - - - +[patches](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00030.html) for +GNU Mach, improving stability, fixing memory leaks and generally cleaning up +the code. + +Maksym Planeta finished a project he has been doing as a university task: +replace GNU Mach's old zone memory allocator with a new [[!wikipedia +slab_allocation desc="slab allocator"]] written by Richard Braun, who also +mentored Maksym during the project. [This +allocator](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?h=mplaneta/libbraunr/master&id=59c9da87375ad3c8401890ecd4f7f101093f2463), +apart from being overally cleaner than the zone allocator, is meant to waste +less memory than the zone allocator (less fragmentation and more memory can be +reclaimed by the VM system), there are debugging/inspection features, and it's +SPM-ready, thus readily usable once we get up-do-date SMP support in GNU Mach. +It is now being tested and integrated. + +And last but definitely not least, Jérémie Koenig finished his Google Summer of +Code project to [[improve Java support on GNU Hurd|user/jkoenig/java]]. All in +all, he also [improved the Hurd signalling +code](http://lists.gnu.org/archive/html/bug-hurd/2011-06/msg00073.html), ported +OpenJDK and began designing and creating a [library for Java bindings for Mach +and Hurd](https://github.com/jeremie-koenig/hurd-java) which already allows +writing a [Hello World translator in +Java](https://github.com/jeremie-koenig/hurd-java/blob/master/HelloMach.java). +It is still pretty low-level, but it paves the way for extending the core of +the Hurd with Java, which is one of the benefits of the Hurd's distributed +multi-server architecture: different components of the operating system can be +written in different programming languages; not just +[C](http://www.gnu.org/software/hurd/hacking-guide/hhg.html#An-Example-using-trivfs), +but also C++, [[Common Lisp|user/flaviocruz]], and now Java -- and more to +come. + +So if you want to help getting the Debian GNU/Hurd Release Candidate done, or +want to dig deep into DDE to have more device drivers running as user-space +processes, please [[get in contact|contact_us]] -- and maybe already grab the +[[source code|source_repositories]]. + +--- + +The **GNU Hurd** is the GNU project's replacement for the Unix kernel. It is a +collection of servers that run on the Mach microkernel to implement file +systems, network protocols, file access control, and other features that are +implemented by the Unix kernel or similar kernels (such as Linux). [[More +detailed|hurd/documentation]]. + +**GNU Mach** is the microkernel upon which a GNU Hurd system is based. It +provides an Inter Process Communication (IPC) mechanism that the Hurd uses to +define interfaces for implementing in a distributed multi-server fashion the +services a traditional operating system kernel provides. [[More +detailed|microkernel/mach/gnumach]]. """]] -- cgit v1.2.3 From 02ae187badbf2978609e73002b05462bafa04245 Mon Sep 17 00:00:00 2001 From: mcsim Date: Sat, 19 Nov 2011 09:04:47 +0100 Subject: --- user/Maksym_Planeta.mdwn | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 5bea897c..f79b1864 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -42,6 +42,8 @@ since this parameter is unused 8.11.11 Symlinks work. + [[Patch by Ben Asselstine|http://lists.gnu.org/archive/html/bug-hurd/2005-07/msg00217.html]] + 4. Control of used space by tmpfs. TODO: Make tmpfs use not more space than it was allowed. @@ -97,11 +99,8 @@ For debugging ext2fs: and its target (relative to its directory) is foo/bar (which would mean /tmp/foo/foo/bar in canonical form) (10:29:42) braunr: youpi: tschwinge: what did ludovic achieve ? (10:30:06) tschwinge: mcsim: As Richard says, symlink targets are always relative to the directory they're contained in. - (10:30:51) tschwinge: braunr: This Hydra/Nix (I wtill mix it all up) thing is kind of a package managing system. - (10:31:17) tschwinge: He has written scripts for bootstrapping a Hurd toolchain. (10:31:26) braunr: oh ok (10:31:27) mcsim: so, if I want to create link in cd, first I need to cd there? - (10:31:28) tschwinge: And then uses that to build a whole bootable image. (10:31:36) mcsim: in foo* (10:31:36) braunr: mcsim: just provide the right paths (10:32:11) braunr: $ touch foo/bar -- cgit v1.2.3 From 62656d38beb34d1f12a6d89f190e8111032f2f6c Mon Sep 17 00:00:00 2001 From: mcsim Date: Sat, 19 Nov 2011 18:47:18 +0100 Subject: --- user/Maksym_Planeta.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index f79b1864..e8bea72a 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -42,7 +42,7 @@ since this parameter is unused 8.11.11 Symlinks work. - [[Patch by Ben Asselstine|http://lists.gnu.org/archive/html/bug-hurd/2005-07/msg00217.html]] + [[Patch by Ben Asselstine.|http://lists.gnu.org/archive/html/bug-hurd/2005-07/msg00217.html]] 4. Control of used space by tmpfs. @@ -57,6 +57,8 @@ since this parameter is unused TODO: Find out why and correct this. +7. Passive translator doesn't work + #Chalanges Translators vs FUSE: -- cgit v1.2.3 From 916e352dd38d1a4b106f3eb4a47dcb4a1faaa77d Mon Sep 17 00:00:00 2001 From: mcsim Date: Sat, 19 Nov 2011 22:15:30 +0100 Subject: --- user/Maksym_Planeta.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index e8bea72a..89e51dc8 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -87,6 +87,7 @@ For debugging ext2fs: 1. What are sequence numbers? What are they used for? 2. Is there any way to debug mach-defpager? When I set breakpoint to any function in it, pager never breaks. +3. Is it normal that defpager panics and breaks on any wrong data? #Links -- cgit v1.2.3 From d1ffe67c957a61d0e75fb290ea5f628d7c825ffe Mon Sep 17 00:00:00 2001 From: mcsim Date: Sun, 20 Nov 2011 11:33:13 +0100 Subject: --- user/Maksym_Planeta.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 89e51dc8..02316dc5 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -42,7 +42,7 @@ since this parameter is unused 8.11.11 Symlinks work. - [[Patch by Ben Asselstine.|http://lists.gnu.org/archive/html/bug-hurd/2005-07/msg00217.html]] + [[Patch by Ben Asselstine.|http://thread.gmane.org/gmane.os.hurd.bugs/11829/focus=12098]] 4. Control of used space by tmpfs. -- cgit v1.2.3 From b659a0d4f515363676d43a36625a9774a5590a97 Mon Sep 17 00:00:00 2001 From: mcsim Date: Mon, 21 Nov 2011 17:06:24 +0100 Subject: --- user/Maksym_Planeta.mdwn | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 02316dc5..79e77ee1 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -23,20 +23,29 @@ My vision of the problem in short: when user tries to access to the memory backe ## Steps -1. Find out what causes crashes in tmpfs with defpager +### Find out what causes crashes in tmpfs with defpager [[http://www.gnu.org/s/hurd/hurd/translator/tmpfs/notes_various.html]] TODO: Consider deleting of parameter "port" in function mach-defpager/default_pager.c:pager_port_list_insert since this parameter is unused -2. Write own pager +Probably pager_request shouldn't be stored because request may arrive from different kernels (or from kernel and translator), so this parameter doesn't have any sense. + +In d_p_set_size memory_object_lock_request is used for manipulating of object size. There is a function memory_object_data_unavailable, which can increase space, provided for memory object. TODO: Consider using it. + +### Write own pager 6.11.11 Reading/writing for files that fit in vm_page_size works 7.11.11 Works for any size. -3. Make links work + TODO: During execution tmpfs hangs in random places. The most possible is variant is deadlocks, + because nothing was undertaken for thread safety. + + TODO: Make tmpfs use not more space than it was allowed. + +### Make links work Symlinks behavior: [[links|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#links81111]] @@ -44,20 +53,11 @@ since this parameter is unused [[Patch by Ben Asselstine.|http://thread.gmane.org/gmane.os.hurd.bugs/11829/focus=12098]] -4. Control of used space by tmpfs. - - TODO: Make tmpfs use not more space than it was allowed. - -5. Thread safety. - - TODO: During execution tmpfs hangs in random places. The most possible is variant is deadlocks, - because nothing was undertaken for thread safety. - -6. After sometime of inactivity tmpfs exits. +### After sometime of inactivity tmpfs exits. TODO: Find out why and correct this. -7. Passive translator doesn't work +### Passive translator doesn't work #Chalanges -- cgit v1.2.3 From 24b93f3cb0f3843e0687ad656ad0b97ffb65ec5c Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 23 Nov 2011 07:37:26 +0100 Subject: --- user/Maksym_Planeta.mdwn | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 79e77ee1..5d6025f6 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -32,7 +32,7 @@ since this parameter is unused Probably pager_request shouldn't be stored because request may arrive from different kernels (or from kernel and translator), so this parameter doesn't have any sense. -In d_p_set_size memory_object_lock_request is used for manipulating of object size. There is a function memory_object_data_unavailable, which can increase space, provided for memory object. TODO: Consider using it. +22.11.11 Reading/writing for any size works, [[this|http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00127.html]] works, but fsx test fails ([[see|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#fsx_fail2211]]). ### Write own pager @@ -153,3 +153,34 @@ For debugging ext2fs: on system performance (15:56:54) antrik: both can be avoided by just passing a real anonymous memory object, i.e. one provided by the defpager (15:57:07) antrik: only problem is that the current defpager implementation can't really handle that... + +#Pastes + +## fsx test on 22.11.11 + $ ~/src/fsx/fsx -W -R -t 4096 -w 4096 -r 4096 bar + mapped writes DISABLED + truncating to largest ever: 0x32000 + truncating to largest ever: 0x39000 + READ BAD DATA: offset = 0x16000, size = 0xd9a0 + OFFSET GOOD BAD RANGE + 0x1f000 0x0000 0x01a0 0x 2d14 + operation# (mod 256) for the bad data may be 1 + LOG DUMP (16 total operations): + 1(1 mod 256): WRITE 0x1f000 thru 0x21d28 (0x2d29 bytes) HOLE ***WWWW + 2(2 mod 256): WRITE 0x10000 thru 0x15bfe (0x5bff bytes) + 3(3 mod 256): READ 0x1d000 thru 0x21668 (0x4669 bytes) + 4(4 mod 256): READ 0xa000 thru 0x16a59 (0xca5a bytes) + 5(5 mod 256): READ 0x8000 thru 0x8f2c (0xf2d bytes) + 6(6 mod 256): READ 0xa000 thru 0x17fe8 (0xdfe9 bytes) + 7(7 mod 256): READ 0x1b000 thru 0x20f33 (0x5f34 bytes) + 8(8 mod 256): READ 0x15000 thru 0x1c05b (0x705c bytes) + 9(9 mod 256): TRUNCATE UP from 0x21d29 to 0x32000 + 10(10 mod 256): READ 0x3000 thru 0x5431 (0x2432 bytes) + 11(11 mod 256): WRITE 0x29000 thru 0x34745 (0xb746 bytes) EXTEND + 12(12 mod 256): TRUNCATE DOWN from 0x34746 to 0x19000 ******WWWW + 13(13 mod 256): READ 0x14000 thru 0x186d8 (0x46d9 bytes) + 14(14 mod 256): TRUNCATE UP from 0x19000 to 0x39000 ******WWWW + 15(15 mod 256): WRITE 0x28000 thru 0x3548c (0xd48d bytes) + 16(16 mod 256): READ 0x16000 thru 0x2399f (0xd9a0 bytes) ***RRRR*** + Correct content saved for comparison + (maybe hexdump "bar" vs "bar.fsxgood") -- cgit v1.2.3 From 1f1604898a0d54a348628fa44ed71674fc4ae78a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 23 Nov 2011 20:25:58 +0100 Subject: user/Maksym_Planeta: Some comments. --- user/Maksym_Planeta.mdwn | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 5d6025f6..d6a847b5 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -43,8 +43,15 @@ Probably pager_request shouldn't be stored because request may arrive from diffe TODO: During execution tmpfs hangs in random places. The most possible is variant is deadlocks, because nothing was undertaken for thread safety. +> Is this only a problem in your new *own pager* implementation, or also in the +> existing tmpfs implementation? --[[tschwinge]] + TODO: Make tmpfs use not more space than it was allowed. +> Is this only a problem in your new *own pager* implementation, or also in the +> existing tmpfs implementation? It is supposed to already obey this limit. +> --[[tschwinge]] + ### Make links work Symlinks behavior: [[links|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#links81111]] @@ -57,8 +64,21 @@ Probably pager_request shouldn't be stored because request may arrive from diffe TODO: Find out why and correct this. +> This may perhaps be the standard translator +> shutdown-after-a-period-of-inactivity functionality? This is of course not +> valid in the tmpfs case, as all its state (file system content) is not stored +> on any non-volatile backend. Can this auto-shutdown functionality be +> disabled (in [[hurd/libdiskfs]], perhaps? See `libdiskfs/init-first.c`, the +> call to `ports_manage_port_operations_multithread`, the `global_timeout` +> paramenter (see the [[hurd/reference_manual]]) (here: `server_timeout`). +> Probably this should be set to `0` in tmpfs to disable timing out? +> --[[tschwinge]] + ### Passive translator doesn't work +> Must be some bug: `diskfs_set_translator` is implemented in `node.c`, so this +> is supposed to work. --[[tschwinge]] + #Chalanges Translators vs FUSE: @@ -86,9 +106,20 @@ For debugging ext2fs: #Questions 1. What are sequence numbers? What are they used for? + +> See [[microkernel/mach/ipc/sequence_numbering]]. --[[tschwinge]] + 2. Is there any way to debug mach-defpager? When I set breakpoint to any function in it, pager never breaks. + +> Is that still an unresolved problem? If not, what was the problem? --[[tschwinge]] + 3. Is it normal that defpager panics and breaks on any wrong data? +> No server must ever panic (or reach any other invalid state), whichever input +> data it receives from untrusted sources (which may include every possible +> source). All input data must be checked for validity before use; anything +> else is a bug. --[[tschwinge]] + #Links 1. [[Cthreads manuals|http://www.cc.gatech.edu/classes/cs6432_99_winter/threads_man/]] -- cgit v1.2.3 From 5a99ae9aa6599ae949ee3652ed42c4c4f50cffe7 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 23 Nov 2011 20:39:12 +0100 Subject: --- user/Maksym_Planeta.mdwn | 7 ------- 1 file changed, 7 deletions(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index d6a847b5..a5299f53 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -43,15 +43,8 @@ Probably pager_request shouldn't be stored because request may arrive from diffe TODO: During execution tmpfs hangs in random places. The most possible is variant is deadlocks, because nothing was undertaken for thread safety. -> Is this only a problem in your new *own pager* implementation, or also in the -> existing tmpfs implementation? --[[tschwinge]] - TODO: Make tmpfs use not more space than it was allowed. -> Is this only a problem in your new *own pager* implementation, or also in the -> existing tmpfs implementation? It is supposed to already obey this limit. -> --[[tschwinge]] - ### Make links work Symlinks behavior: [[links|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#links81111]] -- cgit v1.2.3 From b5e48137f69574cc6396d9c0d143a4ce83f06378 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 23 Nov 2011 22:15:01 +0100 Subject: --- user/Maksym_Planeta.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index a5299f53..67ef2137 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -47,11 +47,11 @@ Probably pager_request shouldn't be stored because request may arrive from diffe ### Make links work - Symlinks behavior: [[links|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#links81111]] +Symlinks behavior: [[links|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#links81111]] - 8.11.11 Symlinks work. +8.11.11 Symlinks work. - [[Patch by Ben Asselstine.|http://thread.gmane.org/gmane.os.hurd.bugs/11829/focus=12098]] +[[Patch by Ben Asselstine.|http://thread.gmane.org/gmane.os.hurd.bugs/11829/focus=12098]] ### After sometime of inactivity tmpfs exits. -- cgit v1.2.3 From 4fa5c2b40a6b91ea3956a807ba09adba28ef18cb Mon Sep 17 00:00:00 2001 From: Diego Nieto Cid Date: Sun, 30 Oct 2011 18:00:45 -0300 Subject: id:"20111030210045.GA4983@myhost". --- hurd.mdwn | 2 +- hurd/console.mdwn | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ hurd/libports.mdwn | 12 +++++++- 3 files changed, 97 insertions(+), 2 deletions(-) diff --git a/hurd.mdwn b/hurd.mdwn index 255cd3d7..55a72e1e 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -65,7 +65,6 @@ in the *unstable* branch of the Debian archive. ## Common Problems -* [[Console]] * [[Xfree86]] -- [[DebianX]] -- [[DebianXorg]] * [[GNUstep]] * [[XattrHurd]]: Setting translators under GNU/Linux @@ -100,3 +99,4 @@ in the *unstable* branch of the Debian archive. * [[Debugging]] * [Hurd Sourcecode Reference](http://www.htu.tugraz.at/~past/hurd/global/): Searchable and browsable index of the code. * [[Networking]] +* [[Console]] diff --git a/hurd/console.mdwn b/hurd/console.mdwn index 4f976efd..e9daa96e 100644 --- a/hurd/console.mdwn +++ b/hurd/console.mdwn @@ -1,3 +1,88 @@ +[[!meta copyright="Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2011 +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]]."]]"""]] + +The Hurd console's implementation is broken into two pieces each running on +it's own process, the console client and server. + +The console server is also splitted into modules (input driver, display driver, +speaker, ...) but they all run in the same process. + +The console server puts itself as a translator on top of `/dev/vcs` folder +presenting the following hierarchy: + + + /dev/vcs + \ + +- 1 + \ + +- console + +- input + +- display + +- .. + +- n + +where the numbered nodes represent virtual consoles and their contents are all +alike. + +As the following graph shows, the console, input and display nodes are the +interfaces used by the terminal server, input driver and display drivers +respectively. + + +------------------+ +-----------------+ + | Input driver | | Terminal Server | + | | | | + | pc-kbd | | | + +------------------+ +-----------------+ + | _cons_vcons_input | + | writes to reads | + | vcs/i/input vcs/i/console | + | +-----------------+ | + | | Console Server | | + | | /hurd/console | | + | input_enqueue | --------------- | input_dequeue | + +--------------->| Input Queue |>---------------+ + | --------------- | + +--------------->| Output Buffer |>---------------+ + | +-----------------+ | + | | + | writes reads | + | vcs/i/console vcs/i/display | + | | + +----------------+ +-----------------+ + | Teminal Server | | Display driver | + | | | | + | /hurd/term | | vga | + +----------------+ +-----------------+ + +The input driver takes scancodes from the in-kernel kbd queue, translates them +into characters and writes them to the input node. Then the terminal server +reads the console node taking the characters out of the console server. + +Each of theese actions is actually an RPC handled by the translator on +`/dev/vcs`. Writes to input nodes are handled by calling `input_enqueue` to +put the character into a queue. And reads from console nodes are handled by +calling `input_dequeue` which takes out charecters from the queue and gives +them to the reader. + +It's important to note here that both `input_enqueue` and `input_dequeue` are +blocking operations and a blocked `input_dequeue` necessarily needs an +`input_enqueue` call to continue. + +[[RPC]]s are handled by the console server with the help of [[hurd/libports]]' +`ports_manage_multithreaded` API. + + +--- + +/!\ old content; [[!taglink open_issue_documentation]]: cleanup needed. + The below is a reworked version of Marcus Brinkmann's [letter to the debian-hurd list](http://lists.debian.org/debian-hurd/2002/debian-hurd-200209/msg00054.html). It describes how to setup the new console server for the Hurd. I am testing this right now, so this document is a work in progress. -- [[Main/JoachimNilsson]] - 21 Jan 2003 diff --git a/hurd/libports.mdwn b/hurd/libports.mdwn index 28274338..0ec0596c 100644 --- a/hurd/libports.mdwn +++ b/hurd/libports.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011 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 @@ -18,3 +18,13 @@ provide an interface independently of the underlying [[microkernel]]. *libports* does not itself depend on *[[libthreads]]*, but the appropriate threading hooks are used if present, that is if *[[libthreads]]* is used by another component. + + +# Message Processing + +## `ports_manage_multithreaded` + +When a message is recieved, the thread acting as receiver checks if any other +thread is also waiting for requests. If there is none, a new thread is +spawned. Thus, the current thread continues processing the message while the +newly created thread starts listening for new ones. -- cgit v1.2.3 From 7868681998128e95cc797fc3cca934714fa948a0 Mon Sep 17 00:00:00 2001 From: "Thomas Bushnell, BSG" Date: Mon, 20 Aug 2001 23:43:29 -0700 Subject: id:"87hev152we.fsf@becket.becket.net". --- hurd.mdwn | 1 + hurd/libthreads.mdwn | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 hurd/libthreads.mdwn diff --git a/hurd.mdwn b/hurd.mdwn index 55a72e1e..11995c87 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -93,6 +93,7 @@ in the *unstable* branch of the Debian archive. * [[libnetfs]] -- short introductory material * [[libdiskfs]] * [[libihash]] + * [[libthreads]] * [[libpthread]] * [[IO_Path]] * [[Porting]] diff --git a/hurd/libthreads.mdwn b/hurd/libthreads.mdwn new file mode 100644 index 00000000..8b1a97e6 --- /dev/null +++ b/hurd/libthreads.mdwn @@ -0,0 +1,28 @@ +[[!meta copyright="Copyright © 2011 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]]."]]"""]] + +`libthreads` a.k.a. C threads. + + +# Internals + + +## Threads' Death + +C threads death doesn't actually free the thread's stack (and maybe not the +associated Mach ports either). That's because there's no way to free the stack +after the thread dies (because the thread of control is gone); the stack needs +to be freed by something else, and there's nothing convenient to do it. There +are many ways to make it work. + +However, it isn't really a leak, because the unfreed resources do get used for +the next thread. So the issue is that the shrinkage of resource consumption +never happens, but it doesn't grow without bounds; it just stays at the maximum +even if the current number of threads is lower. -- cgit v1.2.3 From 26d86a6a7e67e81ae5d02bfdb0d4363f2e741baa Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 Nov 2011 09:24:02 +0100 Subject: Link some things. --- hurd/libports.mdwn | 9 ++++++++- open_issues/multithreading.mdwn | 2 +- shortcuts.mdwn | 7 +++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/hurd/libports.mdwn b/hurd/libports.mdwn index 0ec0596c..6f2cd46d 100644 --- a/hurd/libports.mdwn +++ b/hurd/libports.mdwn @@ -27,4 +27,11 @@ another component. When a message is recieved, the thread acting as receiver checks if any other thread is also waiting for requests. If there is none, a new thread is spawned. Thus, the current thread continues processing the message while the -newly created thread starts listening for new ones. +newly created thread starts listening for new ones. ([[!taglink +open_issue_hurd]]: [[open_issues/multithreading]].) + +Also, there are configurable timeouts for [[translator]]s who want to go away +when they are not used. ([[!taglink open_issue_hurd]]: there used to be bugs +in this area, [[!message-id "87hev152we.fsf@becket.becket.net"]], but it may be +fixed as of [[!message-id "20111030210045.GA4983@myhost"]], +[[!GNU_Savannah_Git_hurd_hurd 9b5429e834cde56f73b8ff605e36afc7d9bb6e1b]].) diff --git a/open_issues/multithreading.mdwn b/open_issues/multithreading.mdwn index 1fc2c318..0f6b9f19 100644 --- a/open_issues/multithreading.mdwn +++ b/open_issues/multithreading.mdwn @@ -24,7 +24,7 @@ Hurd servers / VFS libraries are multithreaded. # Design -Roughly using one thread per +See [[hurd/libports]]: roughly using one thread per incoming request. This is not the best approach: it doesn't really make sense to scale the number of worker threads with the number of incoming requests, but instead they should be scaled according to the backends' characteristics. diff --git a/shortcuts.mdwn b/shortcuts.mdwn index b62b2981..fd4d4dee 100644 --- a/shortcuts.mdwn +++ b/shortcuts.mdwn @@ -87,6 +87,13 @@ ikiwiki will include your shortcut in the standard underlay. * [[!shortcut name=FF_project url="http://www.fossfactory.org/project/p%s" desc="FOSS Factory bounty (p%s)"]] +## Savannah + + * [[!shortcut name=GNU_Savannah_Git_hurd_hurd + url="http://git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=%s" + desc="hurd/hurd.git commit %s"]] + + ## Notmuch'n'Gmane. * [[!shortcut name=message-id url="http://thread.gmane.org/%s" desc="""`id:"%s"`"""]] -- cgit v1.2.3 From fc08486fd989e724bd8df4a086d453612c4f2aba Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 Nov 2011 09:59:55 +0100 Subject: open_issues/code_analysis: Static code checker for port sequence numbers? --- open_issues/code_analysis.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn index bb74d958..d776d81a 100644 --- a/open_issues/code_analysis.mdwn +++ b/open_issues/code_analysis.mdwn @@ -36,6 +36,11 @@ There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks. specifiers, and have it emit useful warnings in case these are pointing to uninitialized data (for *in* only). + * [[Port Sequence Numbers|microkernel/mach/ipc/sequence_numbering]]. If + these are used, care must be taken to update them reliably, [[!message-id + "1123688017.3905.22.camel@buko.sinrega.org"]]. This could be checked by a + static analysis tool. + * [Static Source Code Analysis Tools for C](http://spinroot.com/static/) * [[!wikipedia List_of_tools_for_static_code_analysis]] -- cgit v1.2.3 From 7c71157c69d769c007c02fc991dad2c1f519b5c5 Mon Sep 17 00:00:00 2001 From: mcsim Date: Thu, 24 Nov 2011 18:05:29 +0100 Subject: --- user/Maksym_Planeta.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 67ef2137..3c330388 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -21,6 +21,8 @@ License|/fdl]]."]]"""]] My vision of the problem in short: when user tries to access to the memory backed by tmpfs first time, kernel asks defpager to initialize memory object and sets it's request port to some value. But sometimes user directly accesses to defpager and supplies it own request port. So defpager should handle different request port, what causes errors. +TODO: pager_extend always frees old pagemap and allocates new. Consider if it is necessary. + ## Steps ### Find out what causes crashes in tmpfs with defpager -- cgit v1.2.3 From e6aabed5cb7a1d5f5d472a36c9f4c5802ae95fc8 Mon Sep 17 00:00:00 2001 From: mcsim Date: Thu, 24 Nov 2011 23:20:31 +0100 Subject: --- user/Maksym_Planeta.mdwn | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 3c330388..1c589ed8 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -7,7 +7,7 @@ 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]]."]]"""]] - + [[!toc]] #Notes on tmpfs @@ -36,6 +36,17 @@ Probably pager_request shouldn't be stored because request may arrive from diffe 22.11.11 Reading/writing for any size works, [[this|http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00127.html]] works, but fsx test fails ([[see|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#fsx_fail2211]]). +24.11.11 The problem with fsx. + +Here are follow operations: + +1. Write some data at address 0x100 with size 0x20 +2. Truncate file to size 0x80. First written data should be lost. +3. Write some data at address 0x200 size of 0x20. By this operation file size is increased up to 0x220. +4. Read data at address 0x110. Fsx expects here zeros, but in fact here is data, that was written at step 1. + +When fsx tries to read data kernel calls pager with seqno_memory_object_data_request, and pager returns on step 4 zeros either with memory_object_data_provided or memory_object_data_unavailable. Before this, in default_pager_set_size memory_object_lock_request called to flush any kernel caches, that could hold data to be truncated. When I set offset to 0 and size to limit in memory_object_lock_request it appeared another error ([[see|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#fsx_fail2411]]). Both these behaviors appear to be quite strange for me. It is quite late now, so i put these notes to not forget this and went sleep. Continue tomorrow. + ### Write own pager 6.11.11 Reading/writing for files that fit in vm_page_size works @@ -210,3 +221,21 @@ For debugging ext2fs: 16(16 mod 256): READ 0x16000 thru 0x2399f (0xd9a0 bytes) ***RRRR*** Correct content saved for comparison (maybe hexdump "bar" vs "bar.fsxgood") + +## fsx test on 24.11.11 + + $ ~/src/fsx/fsx bar + truncating to largest ever: 0x13e76 + READ BAD DATA: offset = 0x1f62e, size = 0x2152 + OFFSET GOOD BAD RANGE + 0x1f62e 0x0206 0x0000 0x 213e + operation# (mod 256) for the bad data unknown, check HOLE and EXTEND ops + LOG DUMP (6 total operations): + 1(1 mod 256): TRUNCATE UP from 0x0 to 0x13e76 + 2(2 mod 256): WRITE 0x17098 thru 0x26857 (0xf7c0 bytes) HOLE ***WWWW + 3(3 mod 256): READ 0xc73e thru 0x1b801 (0xf0c4 bytes) + 4(4 mod 256): MAPWRITE 0x32e00 thru 0x331fc (0x3fd bytes) + 5(5 mod 256): MAPWRITE 0x7ac1 thru 0x11029 (0x9569 bytes) + 6(6 mod 256): READ 0x1f62e thru 0x2177f (0x2152 bytes) ***RRRR*** + Correct content saved for comparison + (maybe hexdump "bar" vs "bar.fsxgood") -- cgit v1.2.3 From e793c93cbf9b60783ae57b3a81488af150a6b40f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 25 Nov 2011 18:01:31 +0100 Subject: glibc/fork: GNUnet vfork signal race issue. --- glibc/fork.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glibc/fork.mdwn b/glibc/fork.mdwn index 9417106d..12ca2d19 100644 --- a/glibc/fork.mdwn +++ b/glibc/fork.mdwn @@ -53,6 +53,9 @@ they have patches for software packages, to avoid using `fork` followed by * Can we/why can't we use the concept of *inherited ports array*s/`mach_ports_register` ([[!taglink open_issue_glibc]])? + * GNUnet `vfork` signal race issue: [[!message-id + "87r50ww6m4.fsf@kepler.schwinge.homeip.net"]]. + ## Related -- cgit v1.2.3 From dfe71f4a79ef40b881b75e3a221136c55e0bf5da Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 26 Nov 2011 11:17:33 +0100 Subject: open_issues/glibc: Update. --- open_issues/glibc.mdwn | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index d3f88673..b559a351 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -27,8 +27,17 @@ Here's what's to be done for maintaining glibc. # Configuration -Last reviewed up to the [[Git mirror's 187da0aedcd9d0a2fb34477bef41549681ba1273 -(2011-10-08) sources|source_repositories/glibc]]. + + +Last reviewed up to the [[Git mirror's 9d65ea3a9b83ac3961229ba296a7caf90abce68d +(2011-11-17) sources|source_repositories/glibc]]. * t/dup3 @@ -156,7 +165,8 @@ Last reviewed up to the [[Git mirror's 187da0aedcd9d0a2fb34477bef41549681ba1273 `PTRACE_*` (for example, cbff0d9689c4d68578b6a4f0a17807232506ea27), `RLIMIT_RTTIME`, `SEEK_DATA` (`unistd.h`), `SEEK_HOLE` (`unistd.h`) `clock_adjtime`, `fallocate`, `fallocate64`, `getcontext` (and - `setcontext`), `name_to_handle_at`, `open_by_handle_at`, `sendmmsg`, + `setcontext`), `name_to_handle_at`, `open_by_handle_at`, + `process_vm_readv`, `process_vm_writev`, `sendmmsg`, `setns`, `sync_file_range` * `syncfs` @@ -194,6 +204,10 @@ Last reviewed up to the [[Git mirror's 187da0aedcd9d0a2fb34477bef41549681ba1273 Need changes equivalent to c55fbd1ea768f9fdef34a01377702c0d72cbc213 + 14d96785125abee5e9a49a1c3037f35a581750bd. + * `madvise`, `MADV_DONTNEED` + + [[glibc_madvise_vs_static_linking]]. + * Create `t/cleanup_kernel-features.h`. * Add tests from Linux kernel commit messages for `t/dup3` et al. @@ -366,12 +380,27 @@ Last reviewed up to the [[Git mirror's 187da0aedcd9d0a2fb34477bef41549681ba1273 * a7c8e6a1478de9f990b11e5e853318ccbe4330f2 (`Fix invalid conversion in __cmsg_nxthdr`). Probably just a C++ thing and not relevant for us; see [[message-id "87r52nk1kx.fsf@kepler.schwinge.homeip.net"]]. + * [high] `__ctype_init`, fd5bdc0924e0cfd1688b632068c1b26f3b0c88da. + Probably need to mirror `init-first.c` change. + * [high] `__attribute__ ((__leaf__))`, `BZ #13344`, + aa78043a4aafe5db1a1a76d544a833b63b4c5f5c + + 49a43d80ec5c97cf6136b1ee2687414773b2d5aa + + 3871f58f065dac3917eb18220a479e9591769c8c + + 9beb2334930db81ceada5aa6051fe5ac0554db32 + + 0ffc4f3ebaace42cd545db55a2ac50b6e0cc7d89 + + edc5984d4d18296d7aa3d8f4ed8f7336a743170e + + 57769839788e2c62b68d9dfbf4b35052321278ba. + . + * `optimized strcasecmp and strncasecmp for x86-32` (multiarch), + 76e3966e9efc3808a9e7ad09121c5dfc1211c20b + + 6abf346582ba678f4850a88b4a5950593841df1d + + 5583a0862cf94f71cbcde91c4043a20af65facca. `gs` access. # Build Here's a log of a glibc build run; this is from our [[Git repository's -0abded0927c62f02399658395837917548d5e281 (2011-10-14) +d740cf9d201dc9ecb0335b0a585828dea9cce793 (2011-10-25) sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ export LC_ALL=C @@ -383,7 +412,7 @@ sources|source_repositories/glibc]], run on coulomb.SCHWINGE. This takes up around 400 MiB and needs roughly 120 min on coulomb.SCHWINGE. -A capability mechanism is typically implemented in software my the operating -system kernel (typically a [[microkernel]]. The computing cost (as compared to +A capability mechanism is typically implemented in software by the operating +system kernel (typically a [[microkernel]]). The computing cost (as compared to a hardware implementation) is neglectable. -- cgit v1.2.3 From a527960787dfb358662626dcfef64442e1b76841 Mon Sep 17 00:00:00 2001 From: mcsim Date: Tue, 6 Dec 2011 18:49:37 +0100 Subject: --- user/Maksym_Planeta.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index dc1e9d0e..71546caf 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -49,7 +49,7 @@ When fsx tries to read data kernel calls pager with seqno_memory_object_data_req 5.12.11 Here is a problem with writing by address, which was freed already. It happens in function dealloc_direct in macros invalidate_block. This function is called from pager_truncate in branch when condition "if (!INDIRECT_PAGEMAP(old_size))" is true. But I didn't find why reference to freed object is kept. As workaround we can reduce kalloc_max in hurd/mach-defpager/kalloc.c to 3 to make allocator use vm_allocate always. The drawback is that allocator will allocate only multiple of vm_page_size, but this is temporary tradeoff. Till now fsx reaches operation number 14277. -6.12.11 fsx works quite long and doesn't interrupt. I've stopped at 124784. +6.12.11 fsx works quite long and doesn't interrupt. I've stopped at 124784. Continued. It broke at 181091. ### Write own pager -- cgit v1.2.3 From c8d4862e23c353685f31a078d0ce0dbda4bc1492 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 7 Dec 2011 20:25:14 +0100 Subject: community/meetings/fosdem_2012: New. --- community/meetings.mdwn | 1 + community/meetings/fosdem_2012.mdwn | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 community/meetings/fosdem_2012.mdwn diff --git a/community/meetings.mdwn b/community/meetings.mdwn index 1c1a2cfc..4ae52a1a 100644 --- a/community/meetings.mdwn +++ b/community/meetings.mdwn @@ -16,6 +16,7 @@ License|/fdl]]."]]"""]] ## In the Future + * [[FOSDEM_2012]] * [[Self-organised]] diff --git a/community/meetings/fosdem_2012.mdwn b/community/meetings/fosdem_2012.mdwn new file mode 100644 index 00000000..c8ee511b --- /dev/null +++ b/community/meetings/fosdem_2012.mdwn @@ -0,0 +1,32 @@ +[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011 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="FOSDEM 2012"]] + + + +FOSDEM will take place on February 4th/5th at the Université Libre de +Bruxelles. + + +# Who and When + +[[!table class="table_style_1" data=""" +"Name","Attending","Arrival","Return","Share room with us" +"[[Maksym Planeta]]","no" +"Olaf Buddenhagen","most likely","","","yes" +"[[Thomas Schwinge|tschwinge]]","will try to","","","yes" +"""]] + + +# Multiserver, Microkernel-Based Operating Systems Devroom + +[Announcement](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00137.html). -- cgit v1.2.3 From 2030f5b1a7a5cc01def00ec4b78a4f0e22678884 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 7 Dec 2011 20:55:23 +0100 Subject: --- user/Maksym_Planeta.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 71546caf..f7ef04c1 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -11,6 +11,19 @@ License|/fdl]]."]]"""]] [[!toc]] #Notes on tmpfs +## Current state + +7.12.11 + +There left 4 bugs, I found: +1. Passive translator doesn't work. (Didn't investigate yet) + +2. After sometime of inactivity tmpfs exits. (Didn't investigate yet) + +3. Writing by freed address somewhere. As workaround I set kalloc_max in mach-defpager/kalloc.c to 3, so vm_allocate is always used. + +4. Fsx still breaks with 11 from 12 seeds, I tested the problem was in first 4 Kb. In 12th case problem was in range between 4 Kb and 8 Kb. I find this quite odd. + ## mach-defpager [[defpager|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#defpager81111]] -- cgit v1.2.3 From f2637f96e5c944ec6d8dd964e0a764301f264ddf Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 7 Dec 2011 21:06:45 +0100 Subject: --- user/Maksym_Planeta.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index f7ef04c1..6458e114 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -16,9 +16,9 @@ License|/fdl]]."]]"""]] 7.12.11 There left 4 bugs, I found: -1. Passive translator doesn't work. (Didn't investigate yet) +1. Passive translator doesn't work. (Haven't investigate yet) -2. After sometime of inactivity tmpfs exits. (Didn't investigate yet) +2. After sometime of inactivity tmpfs exits. (Haven't investigate yet) 3. Writing by freed address somewhere. As workaround I set kalloc_max in mach-defpager/kalloc.c to 3, so vm_allocate is always used. -- cgit v1.2.3 From 8332e4d0dfc2f5a4c99e8e291ce571d6f4c86497 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 7 Dec 2011 21:15:22 +0100 Subject: --- user/Maksym_Planeta.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 6458e114..77545bed 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -22,7 +22,7 @@ There left 4 bugs, I found: 3. Writing by freed address somewhere. As workaround I set kalloc_max in mach-defpager/kalloc.c to 3, so vm_allocate is always used. -4. Fsx still breaks with 11 from 12 seeds, I tested the problem was in first 4 Kb. In 12th case problem was in range between 4 Kb and 8 Kb. I find this quite odd. +4. Fsx still breaks with 11 from 12 seeds, I tested the problem was in first 4 Kb. In 12th case problem was in range between 4 Kb and 8 Kb. I find this quite odd. Usual amount of operations before fsx breaks passes 100 000. ## mach-defpager -- cgit v1.2.3 From 9e573d1215611b3faa3be6082dc7753f6b524491 Mon Sep 17 00:00:00 2001 From: mcsim Date: Wed, 7 Dec 2011 22:10:23 +0100 Subject: --- user/Maksym_Planeta.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 77545bed..979c707a 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -16,6 +16,7 @@ License|/fdl]]."]]"""]] 7.12.11 There left 4 bugs, I found: + 1. Passive translator doesn't work. (Haven't investigate yet) 2. After sometime of inactivity tmpfs exits. (Haven't investigate yet) -- cgit v1.2.3 From a9a61a2b87240c558c1c18b699b89f02d7396ced Mon Sep 17 00:00:00 2001 From: mcsim Date: Fri, 9 Dec 2011 07:27:31 +0100 Subject: --- user/Maksym_Planeta.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 979c707a..502f3e20 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -19,7 +19,7 @@ There left 4 bugs, I found: 1. Passive translator doesn't work. (Haven't investigate yet) -2. After sometime of inactivity tmpfs exits. (Haven't investigate yet) +2. After sometime of inactivity tmpfs exits. (8.12.11, Fixed) 3. Writing by freed address somewhere. As workaround I set kalloc_max in mach-defpager/kalloc.c to 3, so vm_allocate is always used. -- cgit v1.2.3 From 6c057cff39ff782e9155c07eee44884cd9c48c9c Mon Sep 17 00:00:00 2001 From: musial Date: Mon, 12 Dec 2011 18:23:45 +0100 Subject: --- user/musial.mdwn | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/user/musial.mdwn b/user/musial.mdwn index 24a526be..d9aaa599 100644 --- a/user/musial.mdwn +++ b/user/musial.mdwn @@ -8,12 +8,8 @@ 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]]."]]"""]] -Robert Musial +Robert Musial - Cleveland, OH -Cleveland, OH +musial/at/gnu/dot/org -musial [at] gnu [dot] org - -http://musial.sdf.org - -http://github.com/musial +http://musial.dyndns.info:8080/ -- cgit v1.2.3