Opened 12 years ago
Last modified 9 years ago
#552 closed defect
Optimize fibril creation — at Version 3
Reported by: | Martin Decky | Owned by: | Martin Decky |
---|---|---|---|
Priority: | critical | Milestone: | 0.7.0 |
Component: | helenos/kernel/generic | Version: | mainline |
Keywords: | Cc: | ||
Blocker for: | Depends on: | ||
See also: |
Description (last modified by )
The creation of new fibrils and allocating stacks for them for every single IPC notification (e.g. interrupt notification) puts a lot of stress on the system. It is observed to even cause PS/2 protocol desynchronization on very slow machines (e.g. QEMU).
There are several ways how this issue can be mitigated. This ticket provides an overview of them:
- Optimizing the new bitmap frame allocator (especially the bitmap search itself, which is currently very suboptimal).
- Optimizing the page mapping manipulation by caching the intermediate levels of the page table.
- Implementing a fibril pool that would avoid the need to create and discard all the precious resources for each single notification.
- Allocate the fibril stacks from a different sequence of pages than the heap to avoid unnecessary heap fragmentation.
Change History (3)
comment:1 by , 12 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 11 years ago
Milestone: | 0.5.1 → 0.5.2 |
---|
comment:3 by , 10 years ago
Description: | modified (diff) |
---|
Note:
See TracTickets
for help on using tickets.