Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 May 2007 01:17:17 -0700
From:      "Jack Vogel" <jfvogel@gmail.com>
To:        "sivakumar.subramani@wipro.com" <sivakumar.subramani@wipro.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: IXGB networl driver and locking
Message-ID:  <2a41acea0705150117y778093ej4ecf869a2f5b1d48@mail.gmail.com>
In-Reply-To: <821C7AD2A9F78942B8605979226257739CFBF5@blr-m3-msg.wipro.com>
References:  <821C7AD2A9F78942B8605979226257739CFBF5@blr-m3-msg.wipro.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/14/07, sivakumar.subramani@wipro.com <sivakumar.subramani@wipro.com> wrote:
>
> Hi all,
>
> 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.

What was all this garbled URLs in your message, something is messing
with your content.

In any case, the device only has ONE interrupt registered, it can be
caused by either RX or TX or whatever.

This as well as the em driver has always had a single lock as well,
and, while it could be made more sophisticated, it has been adequate.
The em driver in CURRENT handles some interrupts without the lock.

In any case, the hardware operates independently of the driver to some
extent, processing RX from the wire, and doing the DMA to memory
without the driver being in control, it interrupts when it gets done with
an packet, and even then it can continue.

So, I dont know what your real issue is, but the single adapter lock
does not make things half duplex.

Jack



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