Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Mar 2005 08:07:35 -0700
From:      Scott Long <scottl@samsco.org>
To:        Danny Braniss <danny@cs.huji.ac.il>
Cc:        scsi@freebsd.org
Subject:   Re: iSCSI initiator driver beta version, testers wanted
Message-ID:  <423C4037.3090801@samsco.org>
In-Reply-To: <E1DCcbo-000ABI-Fu@cs1.cs.huji.ac.il>
References:  <E1DCcbo-000ABI-Fu@cs1.cs.huji.ac.il>

next in thread | previous in thread | raw e-mail | index | archive | help
Danny Braniss wrote:
>>with tags enabled, iSCSI is much faster, but it also causes a deadlock :-(
>>this is what i run:
>>	newfs -U /<iscsi device>
>>	cd /<iscsi device>
>>	restore rf /home/file.dump
>>
>>on the same motherboard, a dual Xeon, with smp disabled all is OK
>>with smp enabled restore gets stuck usualy waiting on biord.
>>the iscsi driver shows that all requests have been done, the sniffing
>>shows the same(ie all request have been done).
>>
>>so this leads me to think that there is some race condition that i'm not
>>aware of in a SMP system, where xpt_done(ccb) is called while
>>another process is calling biowait.
>>
>>another lead is that after restore gets stuck, the system slowly gets 
>>'stalled'.
>>
>>any insight is most welcome!, i'm also stuck.
> 
> 
> ahh, hate talking to myself :-)
> 
> grabbing Giant before calling xpt_done solved it, so the problem is
> most probably in the CAM ...
> 
> danny
> 
> 
> 

No, you need to grab Giant when calling xpt_done().  I even put an
assertion into CAM to make sure of that.  Are you running with WITNESS
and/or INVARIANTS enabled?  Those would have caught this problem.

Scott



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?423C4037.3090801>