From owner-freebsd-arch@FreeBSD.ORG Tue Mar 23 10:46:37 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E8ED16A4CE; Tue, 23 Mar 2004 10:46:37 -0800 (PST) Received: from relay.macomnet.ru (relay.macomnet.ru [195.128.64.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 49A7143D1D; Tue, 23 Mar 2004 10:46:36 -0800 (PST) (envelope-from maxim@macomnet.ru) Received: from mp3 (349ojauq@mp3files.int.ru [195.128.64.20]) by relay.macomnet.ru (8.12.10/8.12.10) with ESMTP id i2NIkQOB9398485; Tue, 23 Mar 2004 21:46:26 +0300 (MSK) Date: Tue, 23 Mar 2004 21:46:26 +0300 (MSK) From: Maxim Konovalov To: John Baldwin In-Reply-To: <200403231026.24155.jhb@FreeBSD.org> Message-ID: <20040323214327.A46706@mp3files.int.ru> References: <200403160519.i2G5J0V6023193@urban> <200403221906.47238.john@baldwin.cx> <200403231026.24155.jhb@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: dima@rt.ru cc: arch@FreeBSD.org cc: David Schultz cc: Seigo Tanimura Subject: ADAPTIVE_MITEXES (Was: Is MTX_CONTESTED evil?) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2004 18:46:37 -0000 [ CC'ed the box owner ] On Tue, 23 Mar 2004, 10:26-0500, John Baldwin wrote: > On Monday 22 March 2004 11:40 pm, Maxim Konovalov wrote: > > On Mon, 22 Mar 2004, 19:06-0500, John Baldwin wrote: > > > > [...] > > > > > > By the way, one thing to keep in mind is that Solaris has working > > > > adaptive mutexes. For adaptive mutexes, the waiting case is > > > > almost never supposed to happen, so it's more reasonable for them > > > > to wake all waiters. However, AFAIK, FreeBSD's adaptive mutex > > > > support is incomplete or broken at this point, so you may run into > > > > a thundering herd problem if you wake all waiters. > > > > > > Adaptive mutexes work just fine, but they aren't on by default. In > > > FreeBSD, adaptive mutexes spin so long as the owner is still executing on > > > another CPU. > > > > With 'options ADATIVE_MUTEXES' our SMP testbox crashes very reliable. > > If you are interested in a traceback and/or crashdump let me know. > > I can look at it. The bug is likely in some other code that is not really MP > safe but is out from under Giant anyways as adaptive mutexes allow more > concurrent execution and thus expose a lot more races. OK, we rebuilt the kernel with 'options ADAPTIVE_MUTEXES' and now running our usual stress testes. Hope will get a crashdump soon. -- Maxim Konovalov