[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090705032658.GA7430@gondor.apana.org.au>
Date: Sun, 5 Jul 2009 11:26:58 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: David Miller <davem@...emloft.net>
Cc: rusty@...tcorp.com.au, patrick.ohly@...el.com,
netdev@...r.kernel.org, virtualization@...ts.linux-foundation.org,
divy@...lsio.com, rolandd@...co.com, xemul@...nvz.org,
dcbw@...hat.com, libertas-dev@...ts.infradead.org
Subject: Re: [PATCH 1/4] net: skb_orphan on dev_hard_start_xmit
On Sat, Jul 04, 2009 at 05:09:10PM +0800, Herbert Xu wrote:
>
> One potential problem is if the socket is constantly running
> close to capacity, but that should only happen if the device
> TX queue is also close to capacity which means that the qdisc
> queue should be non-empty.
Here's a another crazy idea:
Let's use dummy TX descriptors to generate an interrupt, either
with or without transmitting an actual packet on the wire depending
on the NIC.
xmit(skb)
if (TX queue contains no interrupting descriptor &&
qdisc is empty)
mark TX descriptor as interrupting
clean()
do work
if (TX queue contains no interrupting descriptor &&
TX queue non-empty &&
qdisc is empty)
send dummy TX descriptor
This is based on the assumption that in the time it takes for
the NIC to process one packet and interrupt us, we can generate
more packets. Obviously if we can't then even if the NIC had
a queue-empty interrupt capability it wouldn't help.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists