Date: Thu, 4 Mar 2010 00:32:37 +0100 From: Attilio Rao <attilio@freebsd.org> To: Matthew Jacob <mj@feral.com> Cc: freebsd-scsi@freebsd.org Subject: Re: How is supposed to be protected the units list? Message-ID: <3bbf2fe11003031532u2207eb55h19c3a045215a7d84@mail.gmail.com> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
2010/3/4 Matthew Jacob <mj@feral.com>: > On 3/3/2010 1:57 PM, Attilio Rao wrote: >> >> 2010/3/3 Matthew Jacob<mj@feral.com>: >> >>> >>> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3bbf2fe11003031532u2207eb55h19c3a045215a7d84>