Re: [seL4] seL4 System Utilization / Benchmark

2017-01-19 Thread Andrew Gacek
l <devel-bounces@sel4.systems> on behalf of Andrew Gacek >> <andrew.ga...@gmail.com> >> Sent: Thursday, January 19, 2017 8:17 AM >> To: Kuz, Ihor (Data61, Kensington NSW) >> Cc: Danis, Adrian (Data61, Kensington NSW); devel@sel4.systems >> Subject: Re: [seL

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-18 Thread Hesham.Almatary
2017 9:18 AM To: Almatary, Hesham (Data61, Kensington NSW) Cc: devel@sel4.systems Subject: Re: [seL4] seL4 System Utilization / Benchmark Hi Hesham, I am using the master branch of seL4 which includes that commit. Here's how to duplicate the error: repo init -u https://github.com/seL4/

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-18 Thread Andrew Gacek
) > Cc: Danis, Adrian (Data61, Kensington NSW); devel@sel4.systems > Subject: Re: [seL4] seL4 System Utilization / Benchmark > > Thanks again Adrian and Ihor for the help. I was able to get something > working which was good enough for my needs. > > In case anybody e

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-18 Thread Andrew Gacek
Thanks again Adrian and Ihor for the help. I was able to get something working which was good enough for my needs. In case anybody else is interested, I made a small change to the kernel to get the TCB names back from seL4_SysBenchmarkGetThreadUtilisation():

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-18 Thread Andrew Gacek
I got an error when enabling benchmarking: /home/ajgacek/phase3-workspace/perf/kernel/include/arch/arm/arch/benchmark_overflowHandler.h: In function 'handleOverflowIRQ': /home/ajgacek/phase3-workspace/perf/kernel/include/arch/arm/arch/benchmark_overflowHandler.h:22:9: error: implicit declaration

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-17 Thread Ihor.Kuz
You should be able to call seL4 syscalls from a CAmkES component. Just include the right headers (and link the library if necesary). Note that if the syscalls require caps, then you are on your own wrt how to get the caps. Ihor > On 18 Jan 2017, at 12:29 pm, Andrew Gacek

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-17 Thread Adrian.Danis
Unfortunately the kernel does not have a way of finding all the TCBs that have been created in the system. You would have to manipulate the TCB creation/deletion code to maintain a linked list of all the created TCBs. To call raw system calls just make sure you #include and then yes, you can

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-17 Thread Andrew Gacek
Actually, is there any easy way to get all TCBs even from within the kernel? I see ksReadyQueues has all the runnable TCBs, but what about the rest? -Andrew On Tue, Jan 17, 2017 at 7:29 PM, Andrew Gacek wrote: > Thanks Adrian. This is a useful start. It sounds like the

Re: [seL4] seL4 System Utilization / Benchmark

2017-01-17 Thread Adrian.Danis
Hi Andrew, There is some code already in the kernel to help you do this, although it is tested and fixed on an as used basis so may or may not work as I describe. You can enable the the thread utilization tracking with make menuconfig -> seL4 Kernel -> Build Options -> Enable benchmarks ->

[seL4] seL4 System Utilization / Benchmark

2017-01-17 Thread Andrew Gacek
Hi, I'm interested in seeing how much of the CPU is being used by the various threads in my (camkes) application. I'd like a simple "Task Manager" style report of the form: 70% idle 25% can_obj_7_0_control_9_tcb 5% can_obj_7_Int_3__tcb 0% can_obj_7_0_fault_handler_15__tcb etc I've tried