|
From: Julian S. <js...@ac...> - 2006-08-27 18:06:20
|
> You reported trouble when running knode underd drd. For me, knode runs stably, but hangs at exit (100% cpu, memory use high but constant). > an effect that is also explained in the papers on DIOTA. The solution is to > change thread_discard_ordered_segments() such that if the number of > segments associated with a thread becomes too large, that these segments > are merged (bitwise or) into a single segment. Yes. That sounds a useful optimisation to add at some point. I was more concerned about whether the various races that drd reports for knode are real or not, considering that some synchronisation points may be missed. One thing you could do is add dummy wrappers for the missing functions, which simply assert and bomb the system when called. Then we will know for sure which ones do need to be implemented. > The following functions still have to be intercepted: > pthread_mutex_trylock(), the rwlock family and the barrier-related > functions. The last two families of functions are AFAIK not that frequently > used. What about the sem_init, sem_wait, sem_trywait, sem_post, sem_getvalue, sem_destroy set of functions? J |