Re: [perfmon2] perfmon2 in 2.6.28-rc6 is broken on Power6

2008-12-18 Thread Corey Ashford
Hi Stephane and Paul, After comparing sources, I didn't find any remarkable differences between the two (bare 2.6.28-rc6 and Stephane's perfmon2-enhanced 2.6.28-rc6) It didn't immediately occur to me that I could hit SysRq when the system hung, so I decided to give that a try, and I did get a

Re: [perfmon2] perfmon2 in 2.6.28-rc6 is broken on Power6

2008-12-18 Thread stephane eranian
Corey, I looked at the pfm_handle_work() code. Normally this functions gets called only if the TIF_PERFMON_WORK flag is set. On Power, it seems the logic is coded differently. You call systematically and in pfm_handle_work() you check the flag, and if not set you return. During boot, I don't expe

Re: [perfmon2] Why not the pfmon cannot aggregate the sampling number based on the same ip address

2008-12-18 Thread stephane eranian
Hi, I have fixed the problem now. It was due to the fact that we now tag samples with pid/tid when they are added to hash table. But in aggregation, you want to ignore pid/tid. So the patch makes pid/tid anonymous. Also found a serialization problem. Pull pfmon from CVS and try again. Let me know

[perfmon2] Question about libpfm example - multiplex.c

2008-12-18 Thread Corey Ashford
Hi Stephane, We are working through the example programs in the libpfm distribution and came across multiplex.c and multiplex2.c After fixing a superficial problem with get_cpu_speed(), we find that on ppc970mp we are getting an error in pfm_write_pmds, where the smpl_pmds field is set to some

[perfmon2] important pfmon fixes

2008-12-18 Thread stephane eranian
Hello, Today, I have fixed some important issues in pfmon. They were related to --follow-*, dlopen hooks, trigger breakpoints support. Sometimes, you would get: '[xxx] interrupted @0x. for unknown reason' And pfmon would hang. There was a problem with how breakpoints were inherited ac

Re: [perfmon2] important pfmon fixes

2008-12-18 Thread Philip Mucci
Hey, sounds interesting. Can you describe this for us geeks? Phil On Dec 18, 2008, at 10:54 AM, stephane eranian wrote: > There was a problem with how breakpoints were inherited across fork > and pthread_create. Fixing it was not easy as there is a race > condition > in the way a new thread/pr

Re: [perfmon2] important pfmon fixes

2008-12-18 Thread stephane eranian
Phil, On Thu, Dec 18, 2008 at 5:21 PM, Philip Mucci wrote: > Hey, sounds interesting. Can you describe this for us geeks? > > Phil > > On Dec 18, 2008, at 10:54 AM, stephane eranian wrote: > >> There was a problem with how breakpoints were inherited across fork >> and pthread_create. Fixing it w

Re: [perfmon2] perfmon2 in 2.6.28-rc6 is broken on Power6

2008-12-18 Thread stephane eranian
On Thu, Dec 18, 2008 at 11:00 PM, Corey J Ashford wrote: > Thanks for your reply, Stephane, > > "stephane eranian" wrote on 12/18/2008 01:56:16 > AM: > >> Corey, >> >> I looked at the pfm_handle_work() code. Normally >> this functions gets called only if the TIF_PERFMON_WORK >> flag is set. On Po

Re: [perfmon2] perfmon2 in 2.6.28-rc6 is broken on Power6

2008-12-18 Thread Corey J Ashford
Thanks for your reply, Stephane, "stephane eranian" wrote on 12/18/2008 01:56:16 AM: > Corey, > > I looked at the pfm_handle_work() code. Normally > this functions gets called only if the TIF_PERFMON_WORK > flag is set. On Power, it seems the logic is coded differently. > You call systematical

Re: [perfmon2] perfmon2 in 2.6.28-rc6 is broken on Power6

2008-12-18 Thread Corey Ashford
Hi Stephane, stephane eranian wrote: > On Thu, Dec 18, 2008 at 11:00 PM, Corey J Ashford wrote: >> Thanks for your reply, Stephane, >> >> "stephane eranian" wrote on 12/18/2008 01:56:16 >> AM: >> >>> Corey, >>> >>> I looked at the pfm_handle_work() code. Normally >>> this functions gets called o

Re: [perfmon2] perfmon2 in 2.6.28-rc6 is broken on Power6

2008-12-18 Thread stephane eranian
Corey, On Fri, Dec 19, 2008 at 1:26 AM, Corey Ashford wrote: > > I think you were pretty close to putting your finger on the problem. After > stepping through the code, I see that it is looping, and I believe I know > what the problem is. When CONFIG_PERFMON is defined, we call > pfm_handle_work