summaryrefslogtreecommitdiff
path: root/faq/smp.mdwn
blob: e95edcd255b16797ee669e4c9bd98405075cef09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[[!meta copyright="Copyright © 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]]."]]"""]]

[[!meta title="Does GNU/Hurd support SMP/Multicore?"]]

The Hurd servers themselves are multithreaded, so they should be able to take benefit of the parallelism brought by SMP/Multicore boxes. This has however never been tested yet because of the following.

[[microkernel/Mach]] used to be running on SMP boxes like the [[!wikipedia
Intel_iPSC/860]], so principally has the required infrastructure.  It has
however not yet been enhanced to support nowadays' SMP standards like ACPI,
etc.  Also, [[GNU Mach|microkernel/mach/gnumach]]'s Linux device driver glue
code likely isn't SMP-safe.  As this glue code layer is not used in the
[[microkernel/mach/gnumach/ports/Xen]] port of GNU Mach, the plan is to try it
in this enviroment first.

[[!tag open_issue_gnumach open_issue_xen]]

That is why for now GNU/Hurd will only use one logical processor (i.e. one core or one thread, depending on the socket type).

Once this issue is solved, there are follow-up issues about
[[open_issues/multiprocessing]] and [[open_issues/multithreading]].