[Toaster] [PATCH 0/5] Fix task buildstats gathering

Richard Purdie richard.purdie at linuxfoundation.org
Mon Feb 22 03:12:48 PST 2016


On Mon, 2016-02-22 at 10:25 +0000, Barros Pena, Belen wrote:
> I am not sure what you'd consider a 'short running' task, so here are
> a few examples:
> 
> Recipe			task			time (secs)	
> CPU usage
> db			do_unpack		1.29		
> 144.34%
> linux-libc-headers 	do_unpack		9.81		
> 134.64%
> 
> linux-yocto 		do_patch		16.40		
> 141.12%
> 
> rpm-native		do_patch		4.84		
> 117.13%
> gcc-cross-i586		do_configure		3.25	
> 	125.24%
> 
> gcc-cross-initial-i586 	do_configure		3.27	
> 	120.50%
> 
> glibc-locale		do_populate_sysroot	2.80		
> 192.74%
> 
> flex			do_populate_sysroot	1.98		
> 157.74%

I was thinking roughly "under 3 seconds", so some of these are higher
that I'd have expected. Could you share the parent utime/stime and
cumulative utime/stime for these please, just so we can get a better
idea of what was going on there.


> And what if we look at the other side of the data? What does a value 
> of 7.32% mean, like the one we get for netbase do_compile?
>
> So, in the example of linux-yocto do_compile_kernelmodules, would we
> show
> '24'? And for netbase do_compile? '0.07'?

Yes. 0.07 means it didn't really do much in parallel at all and wasn't
using much of a single processor. 

> Would it be just easier to show resource usage times, since they are
> somehow a standard measure that users might be more likely to
> recognise?
> So we could show either:
> 
> * Child rusage ru_utime + Child rusage ru_stime
> * or we split CPU usage into 2 columns, one for ru_utime and the
> other for
> ru_stime

Personally, I see a lot of value in showing these numbers separately.
As my question above kind of indicates, you really need several of the
numbers to understand exactly what may have been going on within the
task and there isn't one number you can show which tells you
everything.

This is a bit of an aside, but another "missing" piece of information
is "what was going on in the system at the same time as this task?". 
This is the kind of information that the bootchart graph shows really
well. If we could click on something and see which other tasks were
running at the time this task was, that would be information we can't
currently easily obtain.

That data is there, we know the start and end times of each of the
tasks, so something can compute which ones were running at time X, but
its not something that anything is currently doing as we don't have an
easy way to display that on the commandline.

Cheers,

Richard


More information about the toaster mailing list