summaryrefslogtreecommitdiff
path: root/microkernel/mach
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-01-08 21:34:29 +0100
committerThomas Schwinge <thomas@codesourcery.com>2013-01-08 21:43:11 +0100
commitcd42b6144bf707fa38555bc06e267bb16db011f5 (patch)
treeddebd4ae1c845bd062261b4335a9ab7a969a3c89 /microkernel/mach
parenta91114fc89dd554494801349e57bd5d29454a8b1 (diff)
parente66cb01b99b60f9483de2425bca3bb104bcc9ae8 (diff)
Merge remote-tracking branch 'fp/master'
Diffstat (limited to 'microkernel/mach')
-rw-r--r--microkernel/mach/deficiencies.mdwn10
-rw-r--r--microkernel/mach/gnumach.mdwn4
-rw-r--r--microkernel/mach/gnumach/continuation.mdwn (renamed from microkernel/mach/continuation.mdwn)12
-rw-r--r--microkernel/mach/gnumach/hardware_compatibility_list.mdwn9
-rw-r--r--microkernel/mach/gnumach/memory_management.mdwn44
-rw-r--r--microkernel/mach/gnumach/preemption.mdwn20
-rw-r--r--microkernel/mach/message/msgh_id.mdwn5
7 files changed, 95 insertions, 9 deletions
diff --git a/microkernel/mach/deficiencies.mdwn b/microkernel/mach/deficiencies.mdwn
index e1f6debc..9ba67219 100644
--- a/microkernel/mach/deficiencies.mdwn
+++ b/microkernel/mach/deficiencies.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2012, 2013 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
@@ -520,3 +520,11 @@ In context of [[open_issues/multithreading]] and later [[open_issues/select]].
<braunr> for those interested, x15 is now a project of its own, with no
gnumach compability goal, and covered by gplv3+
+
+
+### IRC, freenode, #hurd, 2012-12-31
+
+ <braunr> bits of news about x15: it can now create tasks, threads, vm_maps,
+ physical maps (cpu-specific page tables) for user tasks, and stack
+ tracing (in addition to symbol resolution when symbols are available)
+ were recently added
diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn
index edd0cfdb..894adc76 100644
--- a/microkernel/mach/gnumach.mdwn
+++ b/microkernel/mach/gnumach.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2001, 2002, 2007, 2008, 2011 Free Software
+[[!meta copyright="Copyright © 2001, 2002, 2007, 2008, 2011, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -79,6 +79,8 @@ GNU/Hurd.
* [[Debugging]]
* [[Boot_Trace]]
* [[Memory_Management]]
+ * [[Continuation]]s
+ * [[Preemption]]
* [[Projects]]
* [[Rules]]
* [[Open Issues|tag/open_issue_gnumach]]
diff --git a/microkernel/mach/continuation.mdwn b/microkernel/mach/gnumach/continuation.mdwn
index 7a3267f3..cdd942b7 100644
--- a/microkernel/mach/continuation.mdwn
+++ b/microkernel/mach/gnumach/continuation.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2012, 2013 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
@@ -8,7 +9,9 @@ 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]]."]]"""]]
-[[Mach]] internally uses *continuation*s for kernel [[thread]] management.
+[[!tag open_issue_gnumach]]
+
+[[Mach]] internally uses *[[/continuation]]*s for kernel [[thread]] management.
The advantage is that not a full kernel thread stack has to be preserved in
case that a thread is about to enter a blocking state. This saves space. It
@@ -16,9 +19,8 @@ is not clear this is still worthwhile given today's RAM offerings. (How many
kernel threads are there, typically?)
And, this would no longer be possible in case Mach were be made a
-[[preemptive|preemtion]] kernel. In the latter case, the kernel itself, that
+[[preemptive|preemption]] kernel. In the latter case, the kernel itself, that
is, kernel threads can be preempted, and then their full state needs to be
preserved.
-[[!tag open_issue_documentation]] <!-- Not linked to from any Mach page. Move
-to GNU Mach pages, as this is only an implementation detail? -->
+See also [[open_issues/multithreading]].
diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
index 874f5f07..3a4f560c 100644
--- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
+++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2011 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2011, 2013 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
@@ -91,6 +91,11 @@ Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html)
contains a list of device drivers that are included in GNU Mach and elaborates
on the hardware devices they support.
+## DDE
+
+[[hurd/DDE]] provides more up-to-date network device drivers, based on Linux
+2.6.29 code, running as user-space processes.
+
# User Success Reports
These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully.
diff --git a/microkernel/mach/gnumach/memory_management.mdwn b/microkernel/mach/gnumach/memory_management.mdwn
index 3e158b7c..a1d9a99d 100644
--- a/microkernel/mach/gnumach/memory_management.mdwn
+++ b/microkernel/mach/gnumach/memory_management.mdwn
@@ -133,3 +133,47 @@ License|/fdl]]."]]"""]]
<braunr> using sysenter/sysexit makes it even faster
[[open_issues/system_call_mechanism]].
+
+
+# IRC, freenode, #hurd, 2012-12-12
+
+ <braunr> youpi: is the 2g split patch really needed ?
+ <braunr> or rather, is it really a good thing for most people ?
+ <braunr> instead of the common 3g/1g
+ <braunr> it reduces tasks' address space but allows the kernel to reference
+ more physical memory
+ <braunr> the thing is, because of the current page cache implementation,
+ most of the time, this physical memory remains unused, or very rarely
+ <youpi> ?
+ <braunr> on the other hand, a larger address space for tasks allows running
+ more threads (more space for tasks) and not failing while linking webkit
+ .. :)
+ <youpi> it's needed for quite a few compilations, yes
+ <braunr> if you refer to the link stage, with a decent amount of swap, it
+ goes without trouble
+ <youpi> well, if your kernel doesn't have 2GiB physical addressing
+ capacity, userspace won't have >2GiB memory capacity either
+ <youpi> does it now?
+ <youpi> it didn't use to
+ <youpi> and it was crawling like hell for some builds
+ <youpi> (until simply hanging)
+ <braunr> i never have a problem e.g. runing the big malloc glibc test
+ <braunr> (bug22 or something like that)
+ <youpi> that doesn't involve objects from the fs, does it?
+ <braunr> no
+ <braunr> as long as it's anonymous memory, it's ok
+ <braunr> the default pager looks safe, i'm pretty sure our lockups are
+ because of something in ext2fs
+ <youpi> braunr: well, an alternative would be to build two kernels, one 2/2
+ and one 3/1
+ <braunr> not really worth it
+ <braunr> i was just wondering
+ <braunr> i usually prefer a 3/1 on darnassus, but i don't build as often as
+ a buildd :x
+ <youpi> or we can go with 2.5/1.5
+ <youpi> I can do that on bach & mozart for instance
+ <youpi> (they have their own kernel anyway)
+ <braunr> youpi: if you think it's worth the effort
+ <braunr> again, i was just wondering out loud
+ <youpi> braunr: well, bach & mozart don't have > 1.2GiB mem anyway
+ <youpi> so it doesn't pose problem
diff --git a/microkernel/mach/gnumach/preemption.mdwn b/microkernel/mach/gnumach/preemption.mdwn
new file mode 100644
index 00000000..520f7bc9
--- /dev/null
+++ b/microkernel/mach/gnumach/preemption.mdwn
@@ -0,0 +1,20 @@
+[[!meta copyright="Copyright © 2010, 2012, 2013 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_gnumach]]
+
+There currently is no kernel preemption in GNU Mach.
+
+If GNU Mach were made a a preemptive kernel, using [[continuation]]s would
+probably no longer make sense as the kernel itself, that is, kernel threads can
+be preempted, and then their full state needs to be preserved.
+
+See also [[open_issues/multithreading]].
diff --git a/microkernel/mach/message/msgh_id.mdwn b/microkernel/mach/message/msgh_id.mdwn
index 986fcbc7..a7157a37 100644
--- a/microkernel/mach/message/msgh_id.mdwn
+++ b/microkernel/mach/message/msgh_id.mdwn
@@ -252,3 +252,8 @@ files.
that adds a gnumach.defs interface
<braunr> tschwinge: if you think it's ok, i'll rewrite a formal changelog
so it can be applied
+
+
+## IRC, freenode, #hurd, 2012-09-30
+
+ <braunr> youpi: hey, didn't see you merged the page cache stats branch :)