Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 May 2007 12:22:08 +0530
From:      <sivakumar.subramani@wipro.com>
To:        <freebsd-net@freebsd.org>
Subject:   IXGB networl driver and locking
Message-ID:  <821C7AD2A9F78942B8605979226257739CFBF5@blr-m3-msg.wipro.com>

next in thread | raw e-mail | index | archive | help

Hi all,
=20
Same lock is being used in ixgb_intr and ixgb_start. If we get Receive
interrupt while processing Xmit (ixgb_start), Will the calling of
ixgb_intr() handler be delayed as we will not be getting lock in
ixgb_intr since it is already locked in ixgb_start. If it is the case,
are we making it as Half duplex, I mean we are allowing either of one Tx
(or) Rx. Please clarify.
=20
488 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L488>;
ixgb_start <http://fxr.watson.org/fxr/ident?i=3Dixgb_start>; (struct ifnet
<http://fxr.watson.org/fxr/ident?i=3Difnet>;  *ifp
<http://fxr.watson.org/fxr/ident?i=3Difp>; )
489 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L489>;  {
490 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L490>;
struct adapter <http://fxr.watson.org/fxr/ident?i=3Dadapter>;  *adapter
<http://fxr.watson.org/fxr/ident?i=3Dadapter>;  =3D ifp
<http://fxr.watson.org/fxr/ident?i=3Difp>; ->if_softc;
491 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L491>; =20
492 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L492>;
IXGB_LOCK <http://fxr.watson.org/fxr/ident?i=3DIXGB_LOCK>; (adapter
<http://fxr.watson.org/fxr/ident?i=3Dadapter>; );
493 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L493>;
ixgb_start_locked <http://fxr.watson.org/fxr/ident?i=3Dixgb_start_locked>;
(ifp <http://fxr.watson.org/fxr/ident?i=3Difp>; );
494 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L494>;
IXGB_UNLOCK <http://fxr.watson.org/fxr/ident?i=3DIXGB_UNLOCK>; (adapter
<http://fxr.watson.org/fxr/ident?i=3Dadapter>; );
495 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L495>;
return;
496 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L496>;  }

=20
=20
static void
795 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L795>;
ixgb_intr <http://fxr.watson.org/fxr/ident?i=3Dixgb_intr>; (void *arg
<http://fxr.watson.org/fxr/ident?i=3Darg>; )
796 <http://fxr.watson.org/fxr/source/dev/ixgb/if_ixgb.c#L796>;  {
.............
............
IXGB_LOCK <http://fxr.watson.org/fxr/ident?i=3DIXGB_LOCK>; (adapter
<http://fxr.watson.org/fxr/ident?i=3Dadapter>; );
.....................
IXGB_UNLOCK <http://fxr.watson.org/fxr/ident?i=3DIXGB_UNLOCK>; (adapter
<http://fxr.watson.org/fxr/ident?i=3Dadapter>; );

=20
Thanks,
~Siva



The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and=
 may contain proprietary, confidential or privileged information. If you=
 are not the intended recipient, you should not disseminate, distribute or=
 copy this e-mail. Please notify the sender immediately and destroy all=
 copies of this message and any attachments.=20

WARNING: Computer viruses can be transmitted via email. The recipient=
 should check this email and any attachments for the presence of viruses.=
 The company accepts no liability for any damage caused by any virus=
 transmitted by this email.
=20
www.wipro.com



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