After merge measuring branch to mainline top echoes weird load
— at Version 2
Top from measuring branch echoes load between 0-1 immediately after system starts, which looks good.
After merge to mainline branch it echoes load sometimes bigger than 40, which is definitely wrong.
Change History
(2)
Resolution: |
→ wontfix
|
Status: |
new → closed
|
Description: |
modified (diff)
|
Summary: |
After merge measuring branch to head top echoes weird load → After merge measuring branch to mainline top echoes weird load
|
I believe that the load values are perfectly reasonably — there is a lot of work happening just during the bootstrap process. For some reason the load calculating task gets scheduled a bit later in the measuring branch and misses this huge peak (this can be easily emulated by adding thread_sleep(1) at the beginning of the load calculating thread in mainline).
The problem comes from the fact that the load value is sampled just once during the whole 5 second period in this classical algorithm. Perhaps a completely different algorithm might be more suitable for a microkernel system with a lot of context switches (like recording the maximum ready queue length in the scheduler during the whole period).
I close this ticket for now. If you really believe that there is a specific bug in the mainline (which I really can't spot), feel free to reopen it.