/proc/profile

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi Buddies,
            I tried to profile kernel, by using readprofile I got
following data.I dont know how to analyze data, document says the third
column is normalized load of the procedure..calculated as ratio between
number of clock ticks and length of procedure...

but I dont know what is length of procedure is taken...if some one who
has done similar ...could you please suggest me how the third column
values are interpretated.

thanks a lot...

root@ml310:/# readprofile
     4 _stext                                     0.1000
  4722 _nmask_and_or_msr                        147.5625
     1 copy_page                                  0.0069
     1 do_page_fault                              0.0009
     1 memset                                     0.0109
     1 __copy_tofrom_user                         0.0018
     1 do_no_page                                 0.0020
     1 iput                                       0.0014
     1 ext3_get_inode_loc                         0.0023
     1 ext3_do_update_inode                       0.0007
     1 ext3_dirty_inode                           0.0038
     1 journal_get_write_access                   0.0057
     1 tty_read                                   0.0040
     9 serial_in                                  0.0804
     2 serial_out                                 0.0200
     3 serial_console_write                       0.0056
     2 XSysAce_Lock                               0.0049
    55 XSysAce_RegRead32                          0.6548
    16 XSysAce_RegWrite32                         0.3077
     1 XSysAce_WriteDataBuffer                    0.0038
  4825 total                                      0.0029
root@ml310:/#

regards
Jaggu


Re: /proc/profile

Quoted text here. Click to load it

Think of the third column this way:

1) A counter is incremented on every clock tick.  The counter is chosen
   based on which kernel subroutine is being executed.  (This is not
   really how it is implemented, but it gets the idea across.)  

2) Now, we expect that a large subroutine takes longer to execute than a
   smaller subroutine.  If the small subroutine gets lots and lots of counts,
   then that subroutine is contributing more than its share to the system
   performance load.

3) So if you sort the output in descending order, you can see which
   kernel routines are contributing most to the overall system load.
   Concentrate on optimizing those routines and you can make the most
   improvement on the system.

How do we tell how big subroutines are?  Hints from ld(1).

Cheers


Site Timeline