All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] add oprofile Kconfig
@ 2005-02-25 21:12 Andrew Theurer
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Theurer @ 2005-02-25 21:12 UTC (permalink / raw)
  To: xen-devel

[-- Attachment #1: Type: text/plain, Size: 1087 bytes --]

This is a trivial patch to add kernel config support for oprofile.  I 
have been using oprofile for the last few days (timer int based) and it 
seems to work "OK".  IMO, oprofile could stand a lot of virtualization 
awareness, and I would like to discuss what everyone would like to see.

I would like oprofile to have the ability to profile the entire system, 
including xen and all running domains.  I would think running oprofile 
daemon in dom0 would be adequate, as long as we could (a) modify 
oprofile driver to tell xen what kind of events we need (b) have xen 
forward data for those events to dom0 (c) add info in that data that 
tells oprofile what domain or if xen was running (d) modify oprofile 
reporters to be aware of the new data and have reference to bins in 
other running domains.

I suppose oprofile could still be run in a domU, but probably just timer 
int based profiling.  If one would want to use perf counters in just the 
context of a single domU, I guess we would have to save/restore that 
data on the cpus as we switch from/to that domU?

-Andrew Theurer

[-- Attachment #2: patch-oprofile-xen-unstable.txt --]
[-- Type: text/plain, Size: 456 bytes --]

diff -Naurp xen-unstable-orig/linux-2.6.10-xen-sparse/arch/xen/Kconfig.drivers xen-unstable/linux-2.6.10-xen-sparse/arch/xen/Kconfig.drivers
--- xen-unstable-orig/linux-2.6.10-xen-sparse/arch/xen/Kconfig.drivers	2005-02-24 22:12:10.000000000 -0600
+++ xen-unstable/linux-2.6.10-xen-sparse/arch/xen/Kconfig.drivers	2005-02-25 14:55:49.410321096 -0600
@@ -52,4 +52,6 @@ config UNIX98_PTYS
 	default y
 endif
 
+source "arch/i386/oprofile/Kconfig"
+
 endmenu

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] add oprofile Kconfig
@ 2005-03-02  1:09 Santos, Jose Renato G (Jose Renato Santos)
  2005-03-02  1:31 ` Andrew Theurer
  0 siblings, 1 reply; 3+ messages in thread
From: Santos, Jose Renato G (Jose Renato Santos) @ 2005-03-02  1:09 UTC (permalink / raw)
  To: Andrew Theurer, xen-devel, Ian.Pratt
  Cc: G John Janakiraman, Turner, Yoshio, Aravind Menon,
	Jose Renato Santos


  We have extended Xen and Oprofile to enable system wide profiling in
Xen x86 platforms (tested so far on pentium 4 and pentium III). We are
currently cleaning up the code and plan to release it to the community
in a few weeks. The code enables profiling across all or any subset of
domains and the hypervisor.

  We moved the architecture-specific components of oprofile into Xen
hypervisor to collect PC samples and to program the hw performance
counters. In xenolinux, we created a new architecture-specific component
for Xen that sends commands to Xen using a new hypercall. Samples are
buffered in Xen and transferred to domains using shared pages. Domains
are notified of new samples through virtual interrupts. Samples are
interpreted in each domain, since interpretation of program counters has
to be done in the context of the running process (information that is
domain specific). Thus for detailed profiling information each domain
being profiled need to be running an oprofile module to interpret the
samples. However it is possible to have profiling information for
domains that do not have an oprofile module running (passive domains).
In that case the samples for the passive domain are delivered to another
domain for processing. Although detailed information for passive domains
can not be generated in this case, coarse domain level profiling
information is still available. This may be usefull for domains running
an OS that does not support oprofile (i.e. any OS other than linux). 

  We have not implemented any virtualization of hw performance counters
(i.e. save/restore hw counters on domain context switch) to enable
independent oprofilig of individual domains. Although this would be
usefull it is not at the top of our priority list.

  We have started to use this environment to profile some networking
benchmarks in Xen and found it very usefull to give us insight about
system performance issues. As we compile the results we will post them
to list.

  - Renato Santos
    HP Labs

  
>> -----Original Message-----
>> From: xen-devel-admin@lists.sourceforge.net 
>> [mailto:xen-devel-admin@lists.sourceforge.net] On Behalf Of 
>> Andrew Theurer
>> Sent: Friday, February 25, 2005 1:13 PM
>> To: xen-devel@lists.sourceforge.net
>> Subject: [Xen-devel] [PATCH] add oprofile Kconfig
>> 
>> 
>> This is a trivial patch to add kernel config support for 
>> oprofile.  I 
>> have been using oprofile for the last few days (timer int 
>> based) and it 
>> seems to work "OK".  IMO, oprofile could stand a lot of 
>> virtualization 
>> awareness, and I would like to discuss what everyone would 
>> like to see.
>> 
>> I would like oprofile to have the ability to profile the 
>> entire system, 
>> including xen and all running domains.  I would think 
>> running oprofile 
>> daemon in dom0 would be adequate, as long as we could (a) modify 
>> oprofile driver to tell xen what kind of events we need (b) have xen 
>> forward data for those events to dom0 (c) add info in that data that 
>> tells oprofile what domain or if xen was running (d) modify oprofile 
>> reporters to be aware of the new data and have reference to bins in 
>> other running domains.
>> 
>> I suppose oprofile could still be run in a domU, but 
>> probably just timer 
>> int based profiling.  If one would want to use perf counters 
>> in just the 
>> context of a single domU, I guess we would have to save/restore that 
>> data on the cpus as we switch from/to that domU?
>> 
>> -Andrew Theurer
>> 


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] add oprofile Kconfig
  2005-03-02  1:09 [PATCH] add oprofile Kconfig Santos, Jose Renato G (Jose Renato Santos)
@ 2005-03-02  1:31 ` Andrew Theurer
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Theurer @ 2005-03-02  1:31 UTC (permalink / raw)
  To: Santos, Jose Renato G (Jose Renato Santos)
  Cc: xen-devel, Ian.Pratt, G John Janakiraman, Turner, Yoshio,
	Aravind Menon, Jose Renato Santos

Santos, Jose Renato G (Jose Renato Santos) wrote:

>  We have extended Xen and Oprofile to enable system wide profiling in
>Xen x86 platforms (tested so far on pentium 4 and pentium III). We are
>currently cleaning up the code and plan to release it to the community
>in a few weeks. The code enables profiling across all or any subset of
>domains and the hypervisor.
>  
>
This is great news!  If you want some pre-release tesing, please let me 
know, and I'd be happy to run a few benchmarks against it.  I am very 
anxious to see what oprofile reveals on some benchmarks with smp domains.

-Andrew Theurer


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-03-02  1:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-02  1:09 [PATCH] add oprofile Kconfig Santos, Jose Renato G (Jose Renato Santos)
2005-03-02  1:31 ` Andrew Theurer
  -- strict thread matches above, loose matches on Subject: below --
2005-02-25 21:12 Andrew Theurer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.