Rainbow cpu load when launching an activity?

Gary C Martin gary at garycmartin.com
Sat Aug 16 11:47:22 EDT 2008


On 16 Aug 2008, at 06:57, riccardo wrote:

> Hi Gary
>
> On Fri, 2008-08-15 at 23:18 +0100, Gary C Martin wrote:
>> Hi Michael,
>>
>> On 15 Aug 2008, at 21:58, Michael Stone wrote:
>>
>>> On Fri, Aug 15, 2008 at 07:31:28PM +0100, Gary C Martin wrote:
>>>> I was curious to see (when testing in joyride-2301) that rainbow
>>>> (python /usr/sbin/rainbow-daemon) seems to be the process that's
>>>> eating the most CPU cycles during an activity launch.
>>>
>>> Well, rainbow does a little bit of work in order to make a new user,
>>> then it hands over control to the activity. Since we know that
>>> activity
>>> launching is already slow (hence the need for the module preloading
>>> hack), it's not very surprising to me to that you see it chewing CPU
>>> when launching activities.
>>>
>>> Feel free to profile, though; I'd certainly like to know it if I'm
>>> doing
>>> something truly idiotic. (Or if people are using rainbow in
>>> environments
>>> significantly different from my own.)
>>
>> Thanks, OK. I'm not exactly fully clued up on profiling such  
>> internals
>> but I'll look at instrumenting interesting points of your rainbow
>> source code on a running XO, and seeing if I have something useful to
>> report. Please don't let that put off anyone else more qualified from
>> looking.
>>
>
> Processes spawned by rainbow get their cmdline copied over from
> rainbow's one. So I think what you are seeing is that the *launched
> activity* is taking more cpu time than the journal and the shell.
>
> The following graph shows browse startup (pid 3612):
> http://dev.laptop.org/~rlucchese/temp__browse_warm.svg

Thanks for that Riccardo, looks good. From what I understand that  
makes a lot of sense and is likely the answer. I'll still try and have  
a poke at the rainbow code myself out of curiosity.

--Gary





More information about the Devel mailing list