atomic_long_t is defined from atomic64_t which on power is defined as struct { long counter }.
As an experiment, I tried changing perfmon_file.c to use atomic_long_read instead of atomic_read, and that fixed the problem. Seeing how Power is a big endian machine, it makes a lot of sense why atomic_read didn't work, but did on x86_64. Regards, - Corey Corey Ashford Software Engineer IBM Linux Technology Center, Linux Toolchain Beaverton, OR 503-578-3507 cjash...@us.ibm.com "stephane eranian" <eran...@googlemail.com> wrote on 01/07/2009 04:02:10 PM: > On Thu, Jan 8, 2009 at 12:56 AM, Corey J Ashford <cjash...@us.ibm.com> wrote: > > It's a 64-bit kernel App is 64-bits also, but I don't think that matters. > > > Could you verify that sizeof(atomic_t) = sizeof(atomic_long_t) on your system? > > > > > "stephane eranian" <eran...@googlemail.com> wrote on 01/07/2009 03:54:51 > > PM: > > > >> Corey, > >> > >> On Thu, Jan 8, 2009 at 12:49 AM, Corey J Ashford <cjash...@us.ibm.com> > > wrote: > >> > > >> > Yes, I didn't notice it before, but I am getting that warning. > >> > > >> > Before I received your email, I added some instrumentation to the > > callback > >> > pfm_buf_map_close() which is the function that sets > > ctx->flags.mmap_nlock to > >> > 1, and I see that file->f_count == 0. This would cause that flagnot > > to be > >> > set, and then end up in the recursive lock inside of down_write(). > >> > > >> I need to check on x86, but most likely I get f_count=1. > >> The explanation about mmap_nlock can be found in > >> perfmon_res.c. This is fairly complicated unfortunately. > >> > >> Are you compiling 64b-bit or 32-bit bit? > > > > ------------------------------------------------------------------------------ Check out the new SourceForge.net Marketplace. It is the best place to buy or sell services for just about anything Open Source. http://p.sf.net/sfu/Xq1LFB _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel