SyscallFlow
From OpenMosixWiki
Contents |
Remote Syscalls
The big picture
In openMosix, most syscalls are executed on the initial (deputy) node from the remote node after a task is migrated. This imply a bit of organisation, and here is how it is (going to be) done :
Well, now let's explain this diagram :
1. Syscall Command
The first step for the process is to issue a syscall (from the remote node), depending on the syscall (check arch/x86_64/kernel/omasm.h for instance) the syscall can be done locally (that means on the remote node), or on the deputy node. If the syscall has to be done on the deputy node, a syscall request syscall_rq is then issued to the packet processing layer (kcom_send_with*), which then start the communication process.
All packets sent between two nodes are handled by kcomd, please refer to it for an overview of the white part of this diagram. This article focuses on the process context layer (ie: the green and orange part of the diagram).

