lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46D4B448.7060508@hp.com>
Date:	Tue, 28 Aug 2007 16:48:24 -0700
From:	Rick Jones <rick.jones2@...com>
To:	David Miller <davem@...emloft.net>
Cc:	msb@...gle.com, netdev@...r.kernel.org, grundler@...gle.com,
	hadi@...erus.ca, robert.olsson@....uu.se, venza@...wnhat.org
Subject: Re: pktgen terminating condition

David Miller wrote:
> From: Mandeep Singh Baines <msb@...gle.com>
> Date: Tue, 28 Aug 2007 15:47:18 -0700
> 
> 
>>It seems that some drivers do not immediately free skbs on transmit
>>complete.  They will hold the skb until there are more packets to
>>free. One example is the sis900 driver which uses TX_IDLE (tx
>>state-machine idle) instead of TX_OK (tx completed) as a way of
>>coalescing interrupts. I've also seen another driver which does
>>something similar. Not sure how prevalent this technique is.
>>
>>So is this a bug in the drivers or a bug in pktgen?
> 
> 
> This is a bug since it can stall TCP sockets, and even non-TCP sockets
> will not be freeable until these SKBs are released by the device.

Not to defend any one driver, but could it be that the behaviour of TCP
is such that we've not noticed until now?

Does TCP particularly care for an SKB carrying an ACK?  For ones carrying
data there would be an ACK arriving before TCP could "really" free them
right?  And that ACK (rx event) could very well come after some other TX
completion, or perhaps trigger cleaning up TXs in the driver at that time?

And a UDP app is as likely as not to be request/response in nature, with the
response behaving at the driver level rather like a TCP ACK in terms of the
above.

Both of those are things I don't think we typically see happen in pktgen right?

> All transmit packets must be released in a finite amount of time by
> the driver without requiring more traffic to induce this release.

Yes, but for what definition of finite?

rick jones
-
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ