Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hw: generalize IPC-helping / help pager thread #5318

Open
skalk opened this issue Aug 13, 2024 · 0 comments
Open

hw: generalize IPC-helping / help pager thread #5318

skalk opened this issue Aug 13, 2024 · 0 comments
Labels

Comments

@skalk
Copy link
Member

skalk commented Aug 13, 2024

Currently, on-demand paging in base-hw can conflict with the scheduling parameters one has chosen for a concrete scenario. Due to the fact that page-faults are propagated asynchronously via signals in between a faulting thread and the pager thread, and the fact that the pager thread itself runs without any priority nor CPU quantum. That means a high priority thread with CPU quantum in case of a page-fault gets deactivated, and potentially needs to wait for a long time until its fault gets resolved.
In contrast to ordinary IPC relations, there is no equivalent helping mechanism (donation of CPU time to callee) in the paging protocol. Any optimizations of the current scheduling algorithm like envisioned by issue #5117 will be still affected by this limitation. Thereby, first we should generalize the helping mechanism and apply it to page-fault resolution.

@skalk skalk added the feature label Aug 13, 2024
skalk added a commit to skalk/genode that referenced this issue Aug 13, 2024
* Removes helping from Ipc_node and Thread class
* Implement helping as mechanism of Scheduler::Context

Ref genodelabs#5318
skalk added a commit to skalk/genode that referenced this issue Aug 13, 2024
* Removes helping from Ipc_node and Thread class
* Implement helping as mechanism of Scheduler::Context

Ref genodelabs#5318
skalk added a commit to skalk/genode that referenced this issue Aug 16, 2024
* Removes helping from Ipc_node and Thread class
* Implement helping as mechanism of Scheduler::Context

Ref genodelabs#5318
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant