Opened 12 years ago

Last modified 9 years ago

#552 closed defect

Optimize fibril creation — at Initial Version

Reported by: Martin Decky Owned by: Jakub Jermář
Priority: critical Milestone: 0.7.0
Component: helenos/kernel/generic Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

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.

Change History (0)

Note: See TracTickets for help on using tickets.