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]
Date:	Tue, 28 Aug 2007 21:43:52 -0700
From:	Mandeep Singh Baines <mandeep.baines@...il.com>
To:	hadi@...erus.ca
Cc:	davem@...emloft.net, rick.jones2@...com, msb@...gle.com,
	netdev@...r.kernel.org, grundler@...gle.com,
	robert.olsson@....uu.se, venza@...wnhat.org
Subject: Re: pktgen terminating condition

On Tue, 2007-28-08 at 20:28 -0400, jamal wrote:
> On Tue, 2007-28-08 at 17:06 -0700, David Miller wrote:
>
> > Devices need to free packets in a deterministic amount of time, no
> > matter what.
>
> If i understood the driver pointed to - "finite amount of time" spec is
> still met. Seems some interupt is generated (TX_IDLE) when the tx path
> gets idle and this will kick the tx cleanup. Mandeep, correct me if i am
> wrong. If my statement is correct, i wouldnt call this a driver bug;->
>
> Robert, I think i asked you this same question on that piece of code
> once  - and iirc you said its because you had to synchronise and make
> sure the packet made it to the wire. In this scenario, the packet has
> made it to the wire - just hasnt been freed. Note that when teaching
> pktgen to do batching, i removed that logic and things work fine.

Hi Jamal,

Here is what the datasheet has to say about TxIdle:

"This event is signaled when the transmit state machine enters the idle state 
from a non-idle state. This will happen whenever the state machine encounters
an "end-of-list" condition (NULL link field or a descriptor with OWN clear)."

I interpret this to mean that the interrupt gets generates after a packet
is transferred to the TFIFO on the NIC and the next packet in the ring is
NULL. 

This interrupt gets generates less often then TxOK which gets generated
after every completed packet transmit. So I'm thinking that maybe the
driver was written to use this interrupt instead of TxOK for this reason.
Really just my speculation.

Anyway, if I rewrite the driver to use TxOK instead of TxIdle, pktgen
works fine. I'm attaching the patch.

Signed-off-by: Mandeep Singh Baines <mandeep.baines@...il.com>
---


View attachment "sis900_TxOK.patch" of type "text/plain" (1924 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ