[OLSR-users] CPU load

aaron (spam-protected)
Fri Jan 21 02:26:39 CET 2005


On Fri, 21 Jan 2005, ap wrote:

ok, since i did not bother now how to tell gprof how to still do a 
gmon.out even if Ctrl-C is pressed, here is what i got using qprof:

Please note that it was running with -d 1 so the *fprintf statements are 
probably not important


  <<<< olsr.org - 0.4.8 - terminating >>>>
            http://www.olsr.org
qprof: /home/funke/olsrd-0.4.8/olsrd: 513 samples, 513 counts
olsrd                                                            2      ( 
0%)
olsr_hashing                                                     1      ( 
0%)
if_ifwithaddr                                                    1      ( 
0%)
lookup_link_status                                               1      ( 
0%)
get_neighbor_nexthop                                             4      ( 
1%)
get_interface_link_set                                           3      ( 
1%)
lookup_link_entry                                                3      ( 
1%)
olsr_print_link_set                                              1      ( 
0%)
olsr_neighbor_best_link                                          2      ( 
0%)
list_get_head                                                    1      ( 
0%)
list_get_next                                                    2      ( 
0%)
add_vertex                                                       8      ( 
2%)
add_edge                                                         35     ( 
7%)
free_everything                                                  1      ( 
0%)
extract_best                                                     1      ( 
0%)
olsr_calculate_lq_routing_table                                  1      ( 
0%)
mid_lookup_main_addr                                             50     ( 
10%)
mid_lookup_aliases                                               1      ( 
0%)
olsr_ip_to_string                                                2      ( 
0%)
olsr_printf                                                      1      ( 
0%)
olsr_find_up_route                                               3      ( 
1%)
olsr_free_routing_table                                          1      ( 
0%)
olsr_insert_routing_table                                        1      ( 
0%)
olsr_calculate_hna_routes                                        1      ( 
0%)
libc.so.6                                                        4      ( 
1%)
libc.so.6(__isinf)                                               1      ( 
0%)
libc.so.6(__isnan)                                               17     ( 
3%)
libc.so.6(_IO_vfprintf)                                          97     ( 
19%)
libc.so.6(__printf_fp)                                           41     ( 
8%)
libc.so.6(snprintf)                                              9      ( 
2%)
libc.so.6(vsprintf)                                              2      ( 
0%)
libc.so.6(vsnprintf)                                             7      ( 
1%)
libc.so.6(_IO_file_overflow)                                     1      ( 
0%)
libc.so.6(_IO_file_write)                                        2      ( 
0%)
libc.so.6(_IO_file_xsputn)                                       2      ( 
0%)
libc.so.6(_IO_setb)                                              3      ( 
1%)
libc.so.6(_IO_default_xsputn)                                    33     ( 
6%)
libc.so.6(__libc_free)                                           5      ( 
1%)
libc.so.6(strcpy)                                                2      ( 
0%)
libc.so.6(mempcpy)                                               3      ( 
1%)
libc.so.6(__write)                                               72     ( 
14%)
libc.so.6(ioctl)                                                 2      ( 
0%)
libc.so.6(recvfrom)                                              1      ( 
0%)
libc.so.6(send)                                                  4      ( 
1%)
libc.so.6(sendto)                                                2      ( 
0%)
libc.so.6(socket)                                                48     ( 
9%)
libc.so.6(mcount)                                                16     ( 
3%)
libc.so.6(inet_ntoa)                                             7      ( 
1%)
libpthread.so.0                                                  2      ( 
0%)
libpthread.so.0(pthread_getspecific)                             1      ( 
0%)
libpthread.so.0(__pthread_once)                                  1      ( 
0%)
libpthread.so.0(_pthread_cleanup_pop_restore)                    1      ( 
0%)


this run was done on a i386 (fat SMP machine, where olsrd -d 0 causes 1.9 
% CPU usage)

does that help?

ciao,
a.



>>> 
>>> If this still doesn't make any difference, we should come up with a 
>>> profiling version of olsrd. Has anyone ever used the profiling features 
>>> of GCC? Are they supported by the cross-compiler? I guess that this 
>>> would give us a good idea in which functions olsrd spends most of its 
>>> CPU cycles.
>>> 
>> how big would a gprof output become? I could probably NFS mount some share 
>> and store it there...
>> 
>
> i dont't think the results from the profiling will be different, whether you 
> profile it on x86 or on mips. i recommend profiling on x86, it will be much 
> easier.
>
> greetings
> andreas
> _______________________________________________
> olsr-users mailing list
> (spam-protected)
> https://www.olsr.org/mailman/listinfo/olsr-users
>



More information about the Olsr-users mailing list