base-hw: Virtualbox thread priorities

Josef Söntgen josef.soentgen at ...1...
Fri Jul 10 14:08:45 CEST 2015


Hello Adrian,


* Adrian-Ken Rueegsegger <ken at ...309...> [2015-07-09 15:59:11 +0200]:
> The first set of numbers for the top 10 threads were collected when
> pressing a key in the guest VM bootloader. So they basically cover the
> base-hw/Virtualbox init and start:
> 
> pd_label             | label        | spent      | % of total
> ---------------------+--------------+------------+-----------
> init -> virtualbox   | EMT          | 5283917631 | 39.8206%
> init -> virtualbox   | virtualbox   | 4629194169 | 34.8865%
> init -> rtc_drv      | rtc_ep       | 1439510978 | 10.8484%
> init -> rtc_drv      | rtc_drv      |  698105922 |  5.2611%
> init -> fb_drv       | vesa_ep      |  221176830 |  1.6668%
> init                 | init         |  150973892 |  1.1378%
> init -> timer        | timer_drv_ep |  142735932 |  1.0757%
> init -> ps2_drv      | ps2_drv_ep   |  132941808 |  1.0019%
> init -> ps2_drv      | ps2_drv      |  125508496 |  0.9459%
> init -> platform_drv | platform_drv |  107468792 |  0.8099%
> 
> The second set was collected once the Linux system has booted to the
> command prompt:
> 
> pd_label           | label             | spent       | % of total
> -------------------+-------------------+-------------+-----------
> init -> virtualbox | EMT               | 97132063560 | 89.9964%
> init -> virtualbox | virtualbox        |  4631019033 |  4.2908%
> init -> timer      | timer_drv_ep      |  2135808255 |  1.9789%
> init -> rtc_drv    | rtc_ep            |  1439510978 |  1.3338%
> init -> rtc_drv    | rtc_drv           |   698105922 |  0.6468%
> init -> virtualbox | Timer             |   313374324 |  0.2904%
> init -> fb_drv     | vesa_ep           |   238903418 |  0.2214%
> init -> virtualbox | alarm-timer       |   207690920 |  0.1924%
> init -> timer      | timeout_scheduler |   199926872 |  0.1852%
> core               | pager_activation  |   155622972 |  0.1442%

Since the stats are absolute it would be best to reset them to zero
before collecting them a second time. In this case the rtc_drv should
not be in the top range anymore because it should not be used by vbox
while it is running but only once when it starts.

> I do not know the implementation details of rtc_drv but I did not expect
> it to make the top 10.

I did not expect this either. Although it is indeed somewhat expensive
(i.e. it should be avoided to read it several times a second), I cannot
imagine why it takes about 10% of the total time when starting vbox.
It basically reads the time from the cmos which merely involves an IPC
to core to read the I/O port. It would be good to know if the number of
calls of the rtc_drv differ between base-hw and base-nova.


Regards
Josef




More information about the users mailing list