> Kris Kennaway <kris at FreeBSD.org> found a deadlock, > which I think is not FreeBSD-specific. > > When we are running low in memory and kmem_alloc(KM_SLEEP) is called, > the thread waits for the memory to be reclaimed, right?
> In such situation the arc_reclaim_thread thread is woken up. > > Ok. I've two threads waiting for the memory to be freed: > > First one, and this one is not really problematic: ... > And second one, which holds > arc_buf_t->b_hdr->hash_lock: Bug 6457639 might be related, http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6457639 In this case I also found the arc deadlocking because of KM_SLEEP allocations, while having parts of the buf hash table locked. -- This messages posted from opensolaris.org