#
9bd8d1d5 |
|
03-Apr-2019 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
replacing umlaute and fixing address in headers Haldeneggsteig -> Universitaetsstrasse Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
7fccf211 |
|
09-Oct-2017 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
proc_mgmt: get status query implemented Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
f5700f6b |
|
09-Oct-2017 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
proc_mgmt: getting domain list implemented Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
23d2c2be |
|
09-Oct-2017 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
proc_mgmt: implementation spawn_wait() with nohang flag Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
0d2ea264 |
|
02-Oct-2017 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
proc_mgmt: bugfix for domains spawned from startd - Apps specified in menu.lst are now spawned using the proc_mgmt - client side of proc_mgmt allocates cap slot as it should be - Changed exit message to RPC Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
bdce97c2 |
|
25-Aug-2017 |
Razvan Damachi <damachir@emmentaler2.ethz.ch> |
Change 'exit' from RPC to message in if/proc_mgmt.if. Having 'exit' as an RPC caused a bug where the client's capabilities were revoked while it was waiting for a response to RPC exit, causing the UMP driver to throw a cap_transfer error in the client's monitor. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
7ddb3bce |
|
20-Aug-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Fix typo in if/proc_mgmt.if Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
1c3e8231 |
|
02-Jul-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Add per-spawnd message queues to the process manager. The process manager will now enqueue requests to be sent to spawnds. There is one queue per spawnd server that the process manager is connected to. The change is meant so that if multiple clients send requests meant to be served by the same spawnd (e.g. spawn multiple domains on the same core), the process manager will not return an error if the target spawnd's Flounder queue is full, but instead queue up the requests to be sent later. In order to accommodate for this change, the spawn API exposed to the process manager now features a specific reply for each request type. The proces manager handles every reply type separately, meaning that every client can now send up to 1 request of each type exposed by the proc_mgmt API, up from a max of 1 request of any type at any given time. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
a697aaea |
|
22-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Implement "wait" in the process manager + fix bug in kill reply handler. On receiving a kill reply from some spawnd, the process manager will re-add the pending client to the hash table if it expects to receive further such replies for the same domain, i.e. if there are still spawnds running it. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
0478b6d2 |
|
21-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Implement kill() and exit() in the process manager. On the server side, both calls are handled similarly: the process manager sends a kill request to all spawnds running a dispatcher for the victim domain. On the client side, they are different calls. The general-purpose domain exit protocol now attempts to use the proc mgmt API exit call (in lib/barrelfish/init.c). If this fails, the protocol will fall back to exiting via a direct spawn_exit() call, like before. The use-case where exiting via the process manager is expected to fail is when the domain was not spawned through the process manager in the first place, such as is the case with the special domains spawned by the monitor on the bootstrap core, as well as the monitors themselves. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
93751d0a |
|
20-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Add spawn, spawn_with_caps and span calls to the Process Manager API. The process manager keeps local domain state and forwards valid requests to spawnds, acting as a proxy for spawning & spanning. Requests are validated as per the Span-Stop-Cleanup state machine at https://goo.gl/6JuJj2. Spawnd has been enriched with several asynchronous API calls, in order for the process manager to serve requests non-blockingly. Specifically, clients of the process management service issue RPCs to the process manager server (blockingly), but the latter forwards requests to spawnd asynchronously, hence it is able to serve multiple clients at the same time. The client code for spanning uses libbarrelfish/domain.h to create the new dispatcher for the remote core. Bug: if the first dispatcher exits main(), dispatchers spanned on other cores will pagefault. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
0d01b285 |
|
09-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Refactor process manager to enable spawnd discovery. The process manager now allocates a special LMP endpoint for monitor.0 and gives said endpoint to monitor.0 as part of the export_cb. After monitor.0 spawns spawnd, it uses that endpoint to send the new spawnd's iref to the process manager. The latter then binds with spawnd, to keep track of its state. For app cores, a similar workflow applies, except inter-monitor communication is now performed. Namely, the new app core's monitor sends the new app core's spawnd to monitor.0, which forwards it to the process manager. The latter then binds with the app core's spawnd just the same. Diagrams for the discovery protocol can be found at https://goo.gl/eJE37u. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
df2c21c4 |
|
01-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
First outline of a process management service server. Right now, the server only has an "alloc_ep" call which the monitor will be able to use to request connection for spawnd (for all monitors, all spawnds). The server is not yet run by the monitor, but that should happen somewhere along the initialization steps on the BSP core. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|