Re: tx queue stopping - how to test?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 13 Feb 2003 23:22:36 +0100, Wolfgang Wegner wrote
> Hi,
> 
> i am currently experiencing a problem with the tx queue sending udp
> (rtp, to be precise) packets.
> 
> Scenario:
> i have an application sending approx. 7MBit/s datarate (1400 Byte RTP
> packets in bursts of 20 packets each). The device transmitting this stream
> is an intersil 802.11a card, the packets are sent to a multicast address.
> From time to time (more frequent the higher i choose the tx (packet) rate),
> the queue stops, i.e. the application waits in sendto(). As soon as 
> i transmit any other packet over the same device (e.g. a single ARP 
> packet by trying to ping a non-existent host on the same logical net),
> the queue resumes normal operation. I could not find any problem 
> (race condition etc.) in the device driver, and as far as i can see, 
> there is no reason why this could be worked around by transmitting 
> these other packets.
[cut]
> If there's anything i could try to track this down, please let me know!

Check that the driver calls dev_kfree_skb() quickly after transmission. This 
should be in either dev->hard_start_xmit() (usually PIO devices) or in the 
interrupt handler (usually DMA devices). Calling dev_kfree_skb() too late 
would explain why other applications can still send packets.
Check that the netif_stop_queue() and netif_wake_queue() calls are made in 
the right places under the right conditions. Add logging if necessary.
Check the tx timeout handling (dev->tx_timeout() and dev->watchdog_timeo). 
Maybe the device is losing interrupts.

-- 
Regards,
Rask Ingemann Lambertsen

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux