On Sun, May 24, 2009 at 08:11:32AM +0300, Or Gerlitz wrote: > ... how come a neigh cleanup > callback is invoked when someone out there has a ref on the neighbour?
Don't know if you saw all of this thread, but in: http://lists.openfabrics.org/pipermail/general/2009-May/059730.html I mentioned a race between a tx completion (with an error) and ipoib_neigh_cleanup(), which could happen even if the callback is invoked at the correct time (as far as the neighbour code is concerned). > ... > also I'd like to clarify with you if the rest of this thread applies > only to 2.6.16 and possibly more old kernels, or to the current mainline > bits? > Although I've only seen the bug with 2.6.16 vintage kernels (and maybe only once) , I think it's still possible in the latest code via the mechanism I mentioned above (and maybe other ways, too). The best idea I've got so far is to use a new set of locks to consistently read/write the struct ipoib_neigh pointer that's stashed away in the neighbour structures. -- Arthur _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
