Re: iSCSI initiator driver beta version, testers wanted

From: Danny Braniss (danny_at_cs.huji.ac.il)
Date: 03/19/05

  • Next message: Scott Long: "Re: iSCSI initiator driver beta version, testers wanted"
    To: Scott Long <scottl@samsco.org>
    Date: Sat, 19 Mar 2005 20:06:20 +0200
    
    

    > Scott Long wrote:
    > > 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.
    > >
    they are off :-(, would have saved me some time.
    > > Scott
    >
    > Oops, I forgot to mention that I recently addressed this in 6-CURRENT.
    > Now, much of the rest of cam API still requires Giant to be held, but
    > xpt_done() does not. This only applies to 6-CURRENT, and I doubt that
    > it will be backported to 5-STABLE.
    >
    > Scott

    so what you are saying is that in 5.x it's a must to grab Giant before calling
    xpt_done, and not in 6?

    danny

    _______________________________________________
    freebsd-net@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-net
    To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"


  • Next message: Scott Long: "Re: iSCSI initiator driver beta version, testers wanted"

    Relevant Pages

    • Re: $3.20 for fuel today in Shreveport ... Whew !
      ... I have seen you post a lot more shit on this NG than Cam ever has. ... Scott used the word "liar" LOL ... Second I don't think the DOE ... I do believe the oil companies are changing and doing what they can. ...
      (misc.transport.trucking)
    • Re: $3.20 for fuel today in Shreveport ... Whew !
      ... I have seen you post a lot more shit on this NG than Cam ever has. ... Scott used the word "liar" LOL ... Second I don't think the DOE ... I do believe the oil companies are changing and doing what they can. ...
      (misc.transport.trucking)
    • Re: $3.20 for fuel today in Shreveport ... Whew !
      ... Cam you are a liar and we both know it. ... I have seen you post a lot more shit on this NG than Cam ever has. ... Scott used the word "liar" LOL ... You can neither create energy, ...
      (misc.transport.trucking)
    • Re: $3.20 for fuel today in Shreveport ... Whew !
      ... Look who is talking Scott. ... I have seen you post a lot more shit on this NG than Cam ever has. ... whiny troll Rocky. ... All this talk cam has is bullshit or he'd be at the ...
      (misc.transport.trucking)
    • Re: iSCSI initiator driver beta version, testers wanted
      ... Scott Long wrote: ... > Danny Braniss wrote: ... you need to grab Giant when calling xpt_done. ... > assertion into CAM to make sure of that. ...
      (freebsd-net)