From owner-freebsd-scsi@FreeBSD.ORG Wed Mar 3 23:32:47 2010 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FE761065675 for ; Wed, 3 Mar 2010 23:32:47 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by mx1.freebsd.org (Postfix) with ESMTP id 210A38FC26 for ; Wed, 3 Mar 2010 23:32:46 +0000 (UTC) Received: by iwn29 with SMTP id 29so1269573iwn.27 for ; Wed, 03 Mar 2010 15:32:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=gKuQfxiuq+N0+MBDoMlzQZhX0DqtVRsr/+aKMVldBuU=; b=HpkTLvTFJdF57iGZM6HiCGitNsh7jMAHaV1aXkrDwbGWCn8byR/Z9XGKoXLLbYPqCy 7LwEHN/sRw5twp11dG9BwQCvxScsrSOOjJmu6Ls79QqfJgTtkSAhERFYytgmjguA5xOM 3DZ7fj/3TPsbSE8b0pZvNFtNeKfczldWQwW08= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=TAFPlub6GZE9X3B2J2pH2zwdBc4ciUYSz1zbFINBz2bZkL47bAgp66PIFzfOLHZtbW wPB8nHexRCOaj53wcMzsKvtK6EC1oi8fqAGRIjOXfuhvsqjLeVo5mbVj0T5V8jUWIpgI gl9X3UeTKaNHsNVxAspr/bq7mLxaCs5vQdyJc= MIME-Version: 1.0 Sender: asmrookie@gmail.com Received: by 10.231.155.18 with SMTP id q18mr504225ibw.80.1267659157113; Wed, 03 Mar 2010 15:32:37 -0800 (PST) In-Reply-To: <4B8EF128.8050704@feral.com> References: <3bbf2fe11002281655i61a5f0a0if3f381ad0c4a1ef8@mail.gmail.com> <3bbf2fe11003020724m14bebf74y9fa3906418b7cf11@mail.gmail.com> <4B8D3016.2070301@feral.com> <3bbf2fe11003031334g4591c1a3lc52dfb898f728ee2@mail.gmail.com> <20100303214424.GA53790@sandvine.com> <3bbf2fe11003031348q4c1fcccfxd19da32875b43f56@mail.gmail.com> <4B8EDAE8.3080401@feral.com> <3bbf2fe11003031357o518d6028m8157d9110a9122f3@mail.gmail.com> <4B8EF128.8050704@feral.com> Date: Thu, 4 Mar 2010 00:32:37 +0100 X-Google-Sender-Auth: e4344d2ff5153b38 Message-ID: <3bbf2fe11003031532u2207eb55h19c3a045215a7d84@mail.gmail.com> From: Attilio Rao To: Matthew Jacob Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-scsi@freebsd.org Subject: Re: How is supposed to be protected the units list? X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2010 23:32:47 -0000 2010/3/4 Matthew Jacob : > On 3/3/2010 1:57 PM, Attilio Rao wrote: >> >> 2010/3/3 Matthew Jacob: >> >>> >>> On static review, the only code that makes me nervous are >>> ata_shutdown/da_shutdown. >>> Those are the only places where you hold that lock across an uncertain >>> interval. >>> >> >> Please note that a def mutex is already held (the cam_periph_lock), >> so, unless LORs I'm not thinking about, I don't expect too much >> surprises for that codepath. >> >> Thanks, >> Attilio >> >> >> > > The only potential operational difference was on reattach (power SAN disk= s > on, they attach. Power them off. Wait for 60 seconds. The deattach. Power > them on again). I've run this test many times before and haven't seen thi= s. > > da7: 34732MB (71132959 512 byte sectors: 255H 63S/T 4427C) > (da7:isp0:0:6:0): removing device entry > panic: Bad link elm 0xffffff0018fbbc00 next->prev !=3D elm > cpuid =3D 0 > KDB: enter: panic > [ thread pid 0 tid 100044 ] > Stopped at =C2=A0 =C2=A0 =C2=A0kdb_enter+0x3d: movq =C2=A0 =C2=A0$0,0x6b0= 2d0(%rip) > db> bt > Tracing pid 0 tid 100044 td 0xffffff0002fbe000 > kdb_enter() at kdb_enter+0x3d > panic() at panic+0x17b > camperiphfree() at camperiphfree+0x1c2 > cam_periph_release_locked() at cam_periph_release_locked+0x48 > cam_periph_release() at cam_periph_release+0x53 > dasysctlinit() at dasysctlinit+0x153 > taskqueue_run() at taskqueue_run+0x91 > taskqueue_thread_loop() at taskqueue_thread_loop+0x3f > fork_exit() at fork_exit+0x12a > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip =3D 0, rsp =3D 0xffffff8000188d30, rbp =3D 0 --- Is this with the patch or without? Thanks, Attilio --=20 Peace can only be achieved by understanding - A. Einstein