Firefox OS/Performance/Boot Sequence Optimization: Difference between revisions

m
Lakrits moved page FirefoxOS/Performance/Boot Sequence Optimization to Firefox OS/Performance/Boot Sequence Optimization: The official spelling of "Firefox OS" leaves a space between the two parts of the name. It's easier to find a page if the...
m (Lakrits moved page FirefoxOS/Performance/Boot Sequence Optimization to Firefox OS/Performance/Boot Sequence Optimization: The official spelling of "Firefox OS" leaves a space between the two parts of the name. It's easier to find a page if the...)
 
(5 intermediate revisions by 2 users not shown)
Line 24: Line 24:


==The Plan==
==The Plan==
[[FirefoxOS/Performance/Boot_Profiling]]
* [[FirefoxOS/Performance/Boot_Profiling|Boot Profiling]]
* [[FirefoxOS/Performance/Boot_Timing_Automation|Boot Timing Automation]]


==Bootchart==
==Bootchart==
Line 88: Line 89:
A rough idea of what was seen, as well as empirical hypotheses:
A rough idea of what was seen, as well as empirical hypotheses:
* B2G starts after roughly 8s of mysterious "stuff", impenetrable to bootchart
* B2G starts after roughly 8s of mysterious "stuff", impenetrable to bootchart
* Based on kmsg, it seems likely that time between 5s and 8s is init script execution up until <code>|class_start main|</code> in the init.rc (which launches B2G service)
* Based on kmsg, it is likely that time between 5s and 8s is init script execution up until <code>|class_start main|</code> in the init.rc (which launches B2G service)
* Vertical comes up around 16s, however it does not seem to actually do anything until many seconds after that.
* Vertical is shown as coming up around 16s, however it is actually just the preallocated process at this point, which later becomes vertical (around 22s-23s).
<!-- although I feel like some time as been lost... (by stopwatch it seems longer than that) | is what i thought earlier, but it could just be idle
* As well it seems we are only at the init entry point around 4 seconds in anyway (based on inserted kernel log output)
      I should stopwatch time beginning of vertical again -->
* As well it seems init is only really alive at 4 seconds anyway (based on inserted kernel log output)


* As such it is likely that
* As such it is likely that
<code>
** -3.5s = bootloader + Early kernel
** -3.5s = bootloader + Early kernel
**   0s = kernel timing initialized
** &nbsp;&nbsp; 0s = kernel timing initialized
** ~4.5s = init main
** ~4.5s = init main
**  7-8s = B2G
**  &nbsp;7-8s = B2G
**  ~14s = (Nuwa)
**  &nbsp;~14s = (Nuwa)
**  ~16s = Vertical
**  &nbsp;~16s = Preallocated
**  ~25s = UI presented to user
**  &nbsp;~22s = Homescreen app?
**  &nbsp;~25s = UI presented to user
</code>


Of note is that there exists a pronounced black screen between the T2mobile and the "Mozilla Developer Network" logos, that was introduced at some point. Dave Huseby has noted in the past that such a noticeable black screen exists in other devices. This was less visible in past versions.
Of note is that there exists a pronounced black screen between the T2mobile and the "Mozilla Developer Network" logos, that was introduced at some point. Dave Huseby has noted in the past that such a noticeable black screen exists in other devices. This was less visible in past versions.


Of course, there is more concrete data, but that is the general trend of things.
Of course, there is more concrete data, but that is the general trend of things.
Note the discrepancy between the vertical process coming up and actual availability, this will be the focus of a future investigation.


[http://people.mozilla.org/~jbailey/v121-2-premainb2g/ Experiment #1]
[http://people.mozilla.org/~jbailey/v121-2-premainb2g/ Experiment #1]
3,860

edits