Question:kernel profiling and readprofile

Question:kernel profiling and readprofile

Post by will fitzgeral » Fri, 24 May 2002 22:30:12



hi all,

i stumbled accross a command called readprofile by accident and found
that by appening the line append="profile=2" to the lilo.conf file
and using thread profile command you can get statistics on functions
that spend a certain amount of time doing a job.

i done some searching on this and can't find anything other than a
man page on readprofile.

can anyone tell me what does the line append="profile=2" actually do
apart from creating the file profile in the proc directory, what is
the 2 for in this line?

next is this an accurate way to measure heady traffic load through
say a linux router? will it highlight all functions say for example
ip_forward, dev_queue_xmit etc etc that are being opverloaded due to
huge traffic loads being passed through the router. ie will it spot
bottlenecks with good accuracy?

any feedback is welcomed,
regards will.

Beer Mail, brought to you by your friends at beer.com.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Question:kernel profiling and readprofile

Post by Padraig Brad » Fri, 24 May 2002 23:10:09



> hi all,

> i stumbled accross a command called readprofile by accident and found
> that by appening the line append="profile=2" to the lilo.conf file
> and using thread profile command you can get statistics on functions
> that spend a certain amount of time doing a job.

> i done some searching on this and can't find anything other than a
> man page on readprofile.

> can anyone tell me what does the line append="profile=2" actually do
> apart from creating the file profile in the proc directory, what is
> the 2 for in this line?

The level. see linux/Documentation/kernel-parameters.txt
Also worth looking at is http://oss.sgi.com/projects/kernprof/

Quote:> next is this an accurate way to measure heady traffic load through
> say a linux router?

I presume you don't want to actually measure traffic throughput
as there are obviously other ways to do this.

Quote:> will it highlight all functions say for example
> ip_forward, dev_queue_xmit etc etc that are being opverloaded due to
> huge traffic loads being passed through the router. ie will it spot
> bottlenecks with good accuracy?

yes that's the idea.

Quote:> any feedback is welcomed,
> regards will.

Also note CONFIG_NET_PROFILE=Y which writes more network specific
profile data to /proc/net/profile, which you'll have to figure
out how to parse.

Also I think it was reported that there were some problems
with profiling (missing symbols) around 2.5.8? I don't know
whether it's been fixed.

Also I don't think you can profile modules, but there was a patch...
http://marc.theaimsgroup.com/?l=linux-kernel&m=101663078100596&w=2

Padraig.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Question:kernel profiling and readprofile

Post by Richard B. Johnso » Fri, 24 May 2002 23:20:10




> > hi all,

> > i stumbled accross a command called readprofile by accident and found
> > that by appening the line append="profile=2" to the lilo.conf file
> > and using thread profile command you can get statistics on functions
> > that spend a certain amount of time doing a job.

> > i done some searching on this and can't find anything other than a
> > man page on readprofile.

> > can anyone tell me what does the line append="profile=2" actually do
> > apart from creating the file profile in the proc directory, what is
> > the 2 for in this line?

> The level. see linux/Documentation/kernel-parameters.txt
> Also worth looking at is http://www.veryComputer.com/

> > next is this an accurate way to measure heady traffic load through
> > say a linux router?

> I presume you don't want to actually measure traffic throughput
> as there are obviously other ways to do this.

> > will it highlight all functions say for example
> > ip_forward, dev_queue_xmit etc etc that are being opverloaded due to
> > huge traffic loads being passed through the router. ie will it spot
> > bottlenecks with good accuracy?

> yes that's the idea.

> > any feedback is welcomed,
> > regards will.

> Also note CONFIG_NET_PROFILE=Y which writes more network specific
> profile data to /proc/net/profile, which you'll have to figure
> out how to parse.

> Also I think it was reported that there were some problems
> with profiling (missing symbols) around 2.5.8? I don't know
> whether it's been fixed.

> Also I don't think you can profile modules, but there was a patch...
> http://www.veryComputer.com/

> Padraig.

FYI, you can do a low-overhead profile on a Linux router just by
recording the network-card interrupts-per-time-unit. All done in
low-overhead user-mode. This assumes that your network-card IRQ
is not shared.

If the interrupts/time get above some level, you then alter routes,
bring other routers on-line, etc. Or in the case of Samba servers, shut
them down on heavy-beaten machines and start them up on others.
This load-balancing works. Actually, you shut-down the Samba Name server
so you don't disconnect existing clients, but new clients go to an
alternate machine.

The metering for all kinds of automatic reconfiguration can be
done on the basis of interrupts/second and it works quite well.

Cheers,
* Johnson

Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).

                 Windows-2000/Professional isn't.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://www.veryComputer.com/
Please read the FAQ at  http://www.veryComputer.com/

 
 
 

Question:kernel profiling and readprofile

Post by Randy.Dunla » Sat, 25 May 2002 00:30:12


| > hi all,
| >
| > i stumbled accross a command called readprofile by accident and found
| > that by appening the line append="profile=2" to the lilo.conf file
| > and using thread profile command you can get statistics on functions
| > that spend a certain amount of time doing a job.
| >
| > i done some searching on this and can't find anything other than a
| > man page on readprofile.
| >
| > can anyone tell me what does the line append="profile=2" actually do
| > apart from creating the file profile in the proc directory, what is
| > the 2 for in this line?
|
| The level. see linux/Documentation/kernel-parameters.txt
| Also worth looking at is http://oss.sgi.com/projects/kernprof/

or what readprofile calls the 'step' size, but the kernel parameter
is actually a shift value (1 << prof_shift), so it is the power-of-2
bucket size for each profiled bucket (all resident kernel code).
profile=2 means step (or bucket size) = 2^2 = 4 bytes per
profile counter.  Fairly fine-grained so it can pinpoint
code/functions fairly well.
profile=4 means step size of 2^4 = 16 bytes.  Uses less profile
buffer memory in the kernel.

| Also I don't think you can profile modules, but there was a patch...
| http://marc.theaimsgroup.com/?l=linux-kernel&m=101663078100596&w=2

Thanks for that link.  I'm interested in that.

--
~Randy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/