Re: [OMPI devel] detecting regcache_clean deadlocks in Open-MX
Jeff Squyres wrote: > Do you just want to wait for the ummunotify stuff in OMPI? I'm half > done making a merged "linux" memory component (i.e., it merges the > ptmalloc2 component with the new ummunotify stuff). > > It won't help for kernels <2.6.32, of course. :-) Yeah that's another solution for bleeding-edge distribs :) But it's not even merged in 2.6.32 yet, and I hope the perfcounter guys won't successfully convince Roland of reimplementing ummunotify as a perfcounter feature. The 2.6.32 merge window is closing soon... Brice
Re: [OMPI devel] detecting regcache_clean deadlocks in Open-MX
Do you just want to wait for the ummunotify stuff in OMPI? I'm half done making a merged "linux" memory component (i.e., it merges the ptmalloc2 component with the new ummunotify stuff). It won't help for kernels <2.6.32, of course. :-) On Sep 21, 2009, at 9:11 AM, Brice Goglin wrote: Jeff Squyres wrote: > On Sep 21, 2009, at 5:50 AM, Brice Goglin wrote: > >> I am playing with mx__regcache_clean() in Open-MX so as to have OpenMPI >> cleanup the Open-MX regcache when needed. It causes some deadlocks since >> OpenMPI intercepts Open-MX' own free() calls. Is there a "safe" way to >> have Open-MX free/munmap calls not invoke OpenMPI interception hooks? >> > > Not ATM, no. > >> Or >> is there a way to detect the caller of free/munmap so that my >> regcache_clean does nothing in this case? Otherwise, I guess I'll have >> to add a private malloc implementation inside Open-MX and hope OpenMPI >> won't see it. >> > > > Can you structure your code to not call free/munmap inside the handler? The first problem is actually about thread-safety. Most Open-MX functions, including mx_regcache_clean(), take a pthread mutex. So I would have to move all free/munmap outside of the locked section. That's probably feasible but requires a lot of work :) Brice ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com
Re: [OMPI devel] detecting regcache_clean deadlocks in Open-MX
Jeff Squyres wrote: > On Sep 21, 2009, at 5:50 AM, Brice Goglin wrote: > >> I am playing with mx__regcache_clean() in Open-MX so as to have OpenMPI >> cleanup the Open-MX regcache when needed. It causes some deadlocks since >> OpenMPI intercepts Open-MX' own free() calls. Is there a "safe" way to >> have Open-MX free/munmap calls not invoke OpenMPI interception hooks? >> > > Not ATM, no. > >> Or >> is there a way to detect the caller of free/munmap so that my >> regcache_clean does nothing in this case? Otherwise, I guess I'll have >> to add a private malloc implementation inside Open-MX and hope OpenMPI >> won't see it. >> > > > Can you structure your code to not call free/munmap inside the handler? The first problem is actually about thread-safety. Most Open-MX functions, including mx_regcache_clean(), take a pthread mutex. So I would have to move all free/munmap outside of the locked section. That's probably feasible but requires a lot of work :) Brice
Re: [OMPI devel] detecting regcache_clean deadlocks in Open-MX
On Sep 21, 2009, at 5:50 AM, Brice Goglin wrote: I am playing with mx__regcache_clean() in Open-MX so as to have OpenMPI cleanup the Open-MX regcache when needed. It causes some deadlocks since OpenMPI intercepts Open-MX' own free() calls. Is there a "safe" way to have Open-MX free/munmap calls not invoke OpenMPI interception hooks? Not ATM, no. Or is there a way to detect the caller of free/munmap so that my regcache_clean does nothing in this case? Otherwise, I guess I'll have to add a private malloc implementation inside Open-MX and hope OpenMPI won't see it. Can you structure your code to not call free/munmap inside the handler? -- Jeff Squyres jsquy...@cisco.com
[OMPI devel] detecting regcache_clean deadlocks in Open-MX
Hello, I am playing with mx__regcache_clean() in Open-MX so as to have OpenMPI cleanup the Open-MX regcache when needed. It causes some deadlocks since OpenMPI intercepts Open-MX' own free() calls. Is there a "safe" way to have Open-MX free/munmap calls not invoke OpenMPI interception hooks? Or is there a way to detect the caller of free/munmap so that my regcache_clean does nothing in this case? Otherwise, I guess I'll have to add a private malloc implementation inside Open-MX and hope OpenMPI won't see it. thanks, Brice