netdev
[Top] [All Lists]

Re: Q: sock output serialization

To: ak@xxxxxxx
Subject: Re: Q: sock output serialization
From: Henner Eisen <eis@xxxxxxxxxxxxx>
Date: Sun, 17 Sep 2000 09:02:10 +0200
Cc: alan@xxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxx, kuznet@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20000917015435.A712@xxxxxxxxxxxxxxxxxxx> (ak@xxxxxxx)
References: <E13a3yj-0008E6-00@xxxxxxxxxxxxxxxxx> <200009162139.XAA01092@xxxxxxxxxxxxx> <20000917015435.A712@xxxxxxxxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
>>>>> "Andi" == Andi Kleen <ak@xxxxxxx> writes:

    Andi> It would just be racy. You test, get a not drop and then
    Andi> another different interrupt would deliver another packet
    Andi> before you can and fill the queue.  Jamal's extended
    Andi> netif_rx probably makes more sense, because it can be
    Andi> atomic.

I thought if it was executed from the same single interrupt handler
(and lapb also processed from that same interrupt handler) while
local irq are disables, this could not happen.
But for smart controllers, this does not hold, they would need to
interrupt the cpu first to query the state, and than again before
delivering the packet. And for dumb cards, doing the lapb processing
inside irq handler is not nice, anyway. Moving lapb processing above
netif_rx() would resolve this and all other problems.

Henner


<Prev in Thread] Current Thread [Next in Thread>