From owner-freebsd-current@FreeBSD.ORG Sun Jun 8 01:55:12 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DC3E1065670 for ; Sun, 8 Jun 2008 01:55:12 +0000 (UTC) (envelope-from onemda@gmail.com) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.168]) by mx1.freebsd.org (Postfix) with ESMTP id 59CAB8FC0C for ; Sun, 8 Jun 2008 01:55:12 +0000 (UTC) (envelope-from onemda@gmail.com) Received: by wf-out-1314.google.com with SMTP id 24so1465649wfg.7 for ; Sat, 07 Jun 2008 18:55:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=vRm2kAgGY0JGQ3KQ0gBKdmtCiuzqShVOrgYP1X5cXy8=; b=u9l8EUPfgBLfYoO9tYavYlU0GSwLrCVIZyr5F8aveNNTq73ilDJR7ru78S5+kHH7op qP0FeJyj/d40GfRCgg0gyCQslHMMsHsTXXmppw1Y5Tv1a4gyufrfKSRLwMtTWuBM0dgQ 7nrZUgRlK2tt93ac39Lmkd4pLlDIHjlZMOcVA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=jF+eUY1g7FrBupKfRYytsJY1CUdfyWyzArN1Xb9AuGt/e4zNeLWZJzzh265Yn4DeN5 I9C2IL5jm3vvuamw94w54rVJ7mVzNamnVc4wB0rt8RulRTXAoWQ7YX+KgUC1K0j2lrWM raO8HhIrVsPLo9lN0/o/iGlHUVkqsE58T+ZMY= Received: by 10.142.135.16 with SMTP id i16mr748702wfd.144.1212890111769; Sat, 07 Jun 2008 18:55:11 -0700 (PDT) Received: by 10.142.199.19 with HTTP; Sat, 7 Jun 2008 18:55:11 -0700 (PDT) Message-ID: <3a142e750806071855wb9f4cddk9be25e8c0f3d4984@mail.gmail.com> Date: Sun, 8 Jun 2008 03:55:11 +0200 From: "Paul B. Mahol" To: "Coleman Kane" In-Reply-To: <1212870158.1724.25.camel@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1212870158.1724.25.camel@localhost> Cc: freebsd-current@freebsd.org Subject: Re: Call for Testers: Convert watchdog spinlock into a sleepable mutex in if_ndis X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Jun 2008 01:55:12 -0000 On 6/7/08, Coleman Kane wrote: > Hi, > > I've got another patch to if_ndis and I'd like to know if any NDIS users > out there can test it for me and give me some feedback. I've converted > the ndis_spinlock in if_ndis into a normal sleepable mutex, and would > like to get some testers. The idea here is to eliminate an unnecessary > "spinning" in the kernel, where it would be preferable to sleep (for CPU > usage, interactivity, etc...). > > You can download it here: > * > http://people.freebsd.org/~cokane/patches/if_ndis-spinlock-to-mtx.patch > > -- > Coleman Kane > I did not found any stability regressions in my environment with linked patch. But I noticed new LOR (it appears as soon as radio of device is turned on): lock order reversal: 1st 0xc401726c ndis0 (network driver) @ /usr/local/src/sys/modules/if_ndis/../../dev/if_ndis/if_ndis.c:1648 2nd 0xc09b3e74 HAL preemption lock (HAL lock) @ /usr/local/src/sys/modules/ndis/../../compat/ndis/subr_hal.c:423 KDB: stack backtrace: db_trace_self_wrapper(c0708534,c3985bcc,c0541a6e,c070adf6,c09b3e74,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c070adf6,c09b3e74,c09b0a51,c09b0a48,c09b09f8,...) at kdb_backtrace+0x29 witness_checkorder(c09b3e74,9,c09b09f8,1a7,c04f7364,...) at witness_checkorder+0x6de _mtx_lock_flags(c09b3e74,0,c09b09f8,1a7,c457ebd0,...) at _mtx_lock_flags+0xbc KfRaiseIrql(2,c457ebd0,c3985c48,c09aacdd,c3d45354,...) at KfRaiseIrql+0x63 KfAcquireSpinLock(c3d45354,c094888a,c4017200,c3d6cc40,c4017200,...) at KfAcquireSpinLock+0x13 IoQueueWorkItem(c457ebd0,c3d6cc40,0,c4017200,c07040ef,...) at IoQueueWorkItem+0x2d ndis_tick(c4017200,0,c070699c,166,c077e594,...) at ndis_tick+0x143 softclock(c077e560,0,c0701ca6,4d4,c3cda6ec,...) at softclock+0x24a ithread_loop(c3cdb2e0,c3985d38,c0701a09,324,c3c99a70,...) at ithread_loop+0x1b5 fork_exit(c04e74f0,c3cdb2e0,c3985d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc3985d70, ebp = 0 ---