[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] kernel2: Pseudo-Locking aus RPC-Code rauswerfen
* kernel2: Das Locking so ist unnoetig, wenn wir irgendwann mehrere
Threads im Kernel haben, brauchen wir eh vernuenftiges
Locking, also weg damit.
Signed-off-by: Antoine Kaufmann <toni@xxxxxxxxxx>
---
src/kernel2/src/syscalls/rpc.c | 14 +-------------
1 files changed, 1 insertions(+), 13 deletions(-)
diff --git a/src/kernel2/src/syscalls/rpc.c b/src/kernel2/src/syscalls/rpc.c
index 6bc7340..0f542d9 100644
--- a/src/kernel2/src/syscalls/rpc.c
+++ b/src/kernel2/src/syscalls/rpc.c
@@ -190,17 +190,9 @@ int do_fastrpc(pid_t callee_pid, size_t metadata_size, void* metadata,
ignore_blocked = true;
}
- // Waehrend wir am Stack rumbasteln, sollte niemand dazwischenfunken und
- // erst recht nicht der Task weiterlaufen (momentan unnötig, da im Kernel
- // keine Interrupts erlaubt sind). AuÃ?erdem wird damit sichergestellt,
- // dass ein Task, der p() aufgerufen hat, keinen RPC bekommt.
- //
// Wenn der Task nicht blockiert werden kann, soll der Aufrufer es später
// nochmal versuchen.
- if (!ignore_blocked &&
- ((callee->process->blocked_by_pid) ||
- !pm_block_rpc(callee->process, syscall_pm_get_pid())))
- {
+ if (!ignore_blocked && callee->process->blocked_by_pid) {
goto fail_retry;
}
@@ -290,10 +282,6 @@ int do_fastrpc(pid_t callee_pid, size_t metadata_size, void* metadata,
callee->status = PM_STATUS_READY;
}
- if (!ignore_blocked) {
- pm_unblock_rpc(callee->process, syscall_pm_get_pid());
- }
-
// Zum aufgerufenen Task wechseln
pm_scheduler_push(current_thread);
pm_scheduler_get(callee);
--
1.6.4.4