summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/gsoc.mdwn17
-rw-r--r--community/gsoc/project_ideas.mdwn8
-rw-r--r--community/gsoc/project_ideas/physical_memory_management.mdwn51
-rw-r--r--community/meetings/fosdem_2010.mdwn2
-rw-r--r--community/meetings/fosdem_2013.mdwn2
-rw-r--r--community/meetings/fosdem_2014.mdwn2
6 files changed, 67 insertions, 15 deletions
diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn
index 5a373014..8bba2ae9 100644
--- a/community/gsoc.mdwn
+++ b/community/gsoc.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free
Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -12,18 +12,17 @@ License|/fdl]]."]]"""]]
[[!meta title="Google Summer of Code"]]
<!--
-The Google Summer of Code 2013 is over. Chances are that we will again be
-participating in 2014, stay tuned.
+The Google Summer of Code 2014 is over. Chances are that we will again be
+participating in 2015, stay tuned.
-->
We're in! The GNU Hurd project is again participating in the [Google Summer of
Code](http://www.google-melange.com/) under the [GNU
umbrella](http://www.gnu.org/software/soc-projects/).
-Per the [Google Summer of Code 2014 Program
-Timeline](http://www.google-melange.com/gsoc/events/google/gsoc2014), on
-Monday, from 2014-03-10 to 2014-03-21, it's the *student application period*,
-which
+Per the [Google Summer of Code 2015 Program
+Timeline](http://www.google-melange.com/gsoc/events/google/gsoc2015),
+from 2015-03-16 to 2015-03-27, it's the *student application period*, which
is plenty of time for preparing and discussing your applications -- but please
don't wait to the last minute!
@@ -74,6 +73,7 @@ discussing with our GNU peers about how to split these up among all the GNU
subprojects.
-->
+
# Possible projects
We have a list of [[project_ideas]], and students are likewise encouraged to
@@ -99,6 +99,7 @@ with Hurd development, even outside of the GSoC context. Please don't hesitate
to contact us regarding mentoring even if it's not GSoC time at the moment, or
if you aren't a student anyway.
+
# History
In 2006 and [[2007]], we participated in GSoC under the umbrella of the GNU
@@ -107,4 +108,4 @@ participated on our own, instead of as a suborganization of the GNU project.
Read about our five students' success on the [[2008]] page. In the next years,
we again participated under the GNU umbrella with one slot in [[2009]], three
in [[2010]], one in [[2011]], two in [[2012]], three in [[2013]] (one GNU, one
-GCC, one Debian).
+GCC, one Debian), one in [[2014]].
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 262ead82..643a4240 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free
-Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
+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
@@ -97,7 +97,8 @@ All project ideas inlined:
project_ideas:
- "community/gsoc/project_ideas/language_bindings
+ "community/gsoc/project_ideas/physical_memory_management
+ community/gsoc/project_ideas/language_bindings
community/gsoc/project_ideas/virtualization
community/gsoc/project_ideas/file_locking
community/gsoc/project_ideas/gdb
@@ -105,7 +106,6 @@ project_ideas:
community/gsoc/project_ideas/nfs
community/gsoc/project_ideas/sound
community/gsoc/project_ideas/disk_io_performance
- community/gsoc/project_ideas/vm_tuning
community/gsoc/project_ideas/gnumach_cleanup
community/gsoc/project_ideas/xmlfs
community/gsoc/project_ideas/unionfs_boot
diff --git a/community/gsoc/project_ideas/physical_memory_management.mdwn b/community/gsoc/project_ideas/physical_memory_management.mdwn
new file mode 100644
index 00000000..2baa7a90
--- /dev/null
+++ b/community/gsoc/project_ideas/physical_memory_management.mdwn
@@ -0,0 +1,51 @@
+[[!meta copyright="Copyright © 2015 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="Physical memory management"]]
+
+GNU Mach is currently suffering from severe limitations caused by the way
+it manages physical memory. For example, since it requires pages to be mapped
+in kernel space in order to be used, the maximum amount of usable physical
+memory is currently around 800MB (or 1.8GB if a 2/2 split is set). And
+because the page allocator is unable to easily return blocks of contiguous
+pages, the kernel has to use virtual memory to provide contiguity.
+But the kernel virtual space is separate from the direct mapping of
+physical memory, so the larger it is, the less physical pages available.
+The size of the kernel space is currently around 200MB, with around 100MB
+for kernel objects. This small size prevents the system from achieving
+scalability, since a panic occurs when the kernel is unable to allocate
+a kernel object such as a port. In addition, the kernel uses mainly tables
+to store IPC rights. When a table is full, it is enlarged through a kernel
+specific version of realloc(). When a file system starts managing many
+files (e.g. because some of their content is cached in physical memory),
+these tables can get big enough to make realloc() fail because of
+fragmentation.
+
+The goal of this project is to make as much physical memory available as
+possible for both the kernel and applications, by rewriting the page
+allocator into a buddy allocator to support contiguous block allocations,
+using it directly instead of virtual memory as the backend of the slab
+allocator for kernel objects, and, if time allows it, transform IPC right
+tables (e.g. into radix trees) and get rid of realloc().
+
+This project requires a good understanding of virtual memory (both physical
+mappings at the MMU level and virtual mappings at the VM level), and strong
+skills in C programming. Note that some work has already been done in the
+X15 project about this, and can be reused as a reference.
+
+Useful links :
+
+ * <https://www.sceen.net/mapping-physical-memory-directly/>
+
+ * <http://git.sceen.net/rbraun/x15.git/>
+
+ * <http://git.sceen.net/rbraun/librbraun.git/blob/HEAD:/rdxtree.h>
+
+Possible mentors: Richard Braun
diff --git a/community/meetings/fosdem_2010.mdwn b/community/meetings/fosdem_2010.mdwn
index e42ff1fd..0ef53979 100644
--- a/community/meetings/fosdem_2010.mdwn
+++ b/community/meetings/fosdem_2010.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010 Free Software
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2015 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
diff --git a/community/meetings/fosdem_2013.mdwn b/community/meetings/fosdem_2013.mdwn
index 4fafc895..5cbae067 100644
--- a/community/meetings/fosdem_2013.mdwn
+++ b/community/meetings/fosdem_2013.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012, 2013, 2014 Free Software Foundation,
+[[!meta copyright="Copyright © 2012, 2013, 2014, 2015 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
diff --git a/community/meetings/fosdem_2014.mdwn b/community/meetings/fosdem_2014.mdwn
index c5a7d5ba..b68a907d 100644
--- a/community/meetings/fosdem_2014.mdwn
+++ b/community/meetings/fosdem_2014.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012, 2013, 2014 Free Software Foundation,
+[[!meta copyright="Copyright © 2012, 2013, 2014, 2015 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable