netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
  2006-10-02 18:23 [PATCH 1/5] remove TxStartThresh and RxEarlyThresh Jesse Huang
@ 2006-10-02  6:53 ` Andrew Morton
  2006-10-02  7:00   ` Roland Dreier
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2006-10-02  6:53 UTC (permalink / raw)
  To: Jesse Huang; +Cc: linux-kernel, netdev, jgarzik

On Mon, 02 Oct 2006 14:23:51 -0400
Jesse Huang <jesse@icplus.com.tw> wrote:

> For pattern issue need to remove TxStartThresh and RxEarlyThresh.

Please describe this issue more completely.

What are the implications of simply removing this feature?  Presumably that
code was there for a reason..

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
  2006-10-02  6:53 ` Andrew Morton
@ 2006-10-02  7:00   ` Roland Dreier
  2006-10-02  7:10     ` Jesse Huang
  0 siblings, 1 reply; 8+ messages in thread
From: Roland Dreier @ 2006-10-02  7:00 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Jesse Huang, linux-kernel, netdev, jgarzik

 > > For pattern issue need to remove TxStartThresh and RxEarlyThresh.

 > Please describe this issue more completely.
 > 
 > What are the implications of simply removing this feature?  Presumably that
 > code was there for a reason..

Actually I think this patch needs to be handled delicately -- because
based on earlier emails from Jesse (http://www.mail-archive.com/netdev@vger.kernel.org/msg22254.html),
I am pretty sure that "pattern" is a typo for "patent".  So I guess
the question is what exactly the patent covers and what the
implications of having the current kernel code are.

 - R.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
  2006-10-02  7:00   ` Roland Dreier
@ 2006-10-02  7:10     ` Jesse Huang
  0 siblings, 0 replies; 8+ messages in thread
From: Jesse Huang @ 2006-10-02  7:10 UTC (permalink / raw)
  To: Andrew Morton, Roland Dreier; +Cc: linux-kernel, netdev, jgarzik

Sorry, I had typed wrong word.

It is because patent issue.

Thnaks.
----- Original Message ----- 
From: "Roland Dreier" <rdreier@cisco.com>
To: "Andrew Morton" <akpm@osdl.org>
Cc: "Jesse Huang" <jesse@icplus.com.tw>; <linux-kernel@vger.kernel.org>;
<netdev@vger.kernel.org>; <jgarzik@pobox.com>
Sent: Monday, October 02, 2006 3:00 PM
Subject: Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh


> > For pattern issue need to remove TxStartThresh and RxEarlyThresh.

 > Please describe this issue more completely.
 >
 > What are the implications of simply removing this feature?  Presumably
that
 > code was there for a reason..

Actually I think this patch needs to be handled delicately -- because
based on earlier emails from Jesse
(http://www.mail-archive.com/netdev@vger.kernel.org/msg22254.html),
I am pretty sure that "pattern" is a typo for "patent".  So I guess
the question is what exactly the patent covers and what the
implications of having the current kernel code are.

 - R.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
@ 2006-10-02 18:23 Jesse Huang
  2006-10-02  6:53 ` Andrew Morton
  0 siblings, 1 reply; 8+ messages in thread
From: Jesse Huang @ 2006-10-02 18:23 UTC (permalink / raw)
  To: linux-kernel, netdev, akpm, jgarzik, jesse

From: Jesse Huang <jesse@icplus.com.tw>

Change Logs:
For pattern issue need to remove TxStartThresh and RxEarlyThresh.

Signed-off-by: Jesse Huang <jesse@icplus.com.tw>
---

 drivers/net/sundance.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

3751714e0fc36905c87a230172d9561c29321833
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 6b8f4ba..a5dd1c3 100755
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -264,8 +264,6 @@ enum alta_offsets {
 	ASICCtrl = 0x30,
 	EEData = 0x34,
 	EECtrl = 0x36,
-	TxStartThresh = 0x3c,
-	RxEarlyThresh = 0x3e,
 	FlashAddr = 0x40,
 	FlashData = 0x44,
 	TxStatus = 0x46,
@@ -1111,6 +1109,7 @@ static irqreturn_t intr_handler(int irq,
 	int tx_cnt;
 	int tx_status;
 	int handled = 0;
+	int i;
 
 
 	do {
@@ -1153,17 +1152,14 @@ static irqreturn_t intr_handler(int irq,
 						np->stats.tx_fifo_errors++;
 					if (tx_status & 0x02)
 						np->stats.tx_window_errors++;
+
 					/*
 					** This reset has been verified on
 					** DFE-580TX boards ! phdm@macqel.be.
 					*/
 					if (tx_status & 0x10) {	/* TxUnderrun */
-						unsigned short txthreshold;
-
-						txthreshold = ioread16 (ioaddr + TxStartThresh);
 						/* Restart Tx FIFO and transmitter */
 						sundance_reset(dev, (NetworkReset|FIFOReset|TxReset) << 16);
-						iowrite16 (txthreshold, ioaddr + TxStartThresh);
 						/* No need to reset the Tx pointer here */
 					}
 					/* Restart the Tx. */
-- 
1.3.GIT




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
@ 2006-10-14 19:55 Jesse Huang
  2006-10-15 21:26 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Jesse Huang @ 2006-10-14 19:55 UTC (permalink / raw)
  To: linux-kernel, netdev, akpm, jgarzik, jesse

From: Jesse Huang <jesse@icplus.com.tw>

Change Logs:
For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent 
is cut-through patent. If use this function, Tx will start to transmit after 
few data be move in to Tx FIFO. We are not allow to use those function in 
DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little 
performance.

Signed-off-by: Jesse Huang <jesse@icplus.com.tw>
---

 drivers/net/sundance.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

3751714e0fc36905c87a230172d9561c29321833
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 6b8f4ba..a5dd1c3 100755
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -264,8 +264,6 @@ enum alta_offsets {
 	ASICCtrl = 0x30,
 	EEData = 0x34,
 	EECtrl = 0x36,
-	TxStartThresh = 0x3c,
-	RxEarlyThresh = 0x3e,
 	FlashAddr = 0x40,
 	FlashData = 0x44,
 	TxStatus = 0x46,
@@ -1111,6 +1109,7 @@ static irqreturn_t intr_handler(int irq,
 	int tx_cnt;
 	int tx_status;
 	int handled = 0;
+	int i;
 
 
 	do {
@@ -1153,17 +1152,14 @@ static irqreturn_t intr_handler(int irq,
 						np->stats.tx_fifo_errors++;
 					if (tx_status & 0x02)
 						np->stats.tx_window_errors++;
+
 					/*
 					** This reset has been verified on
 					** DFE-580TX boards ! phdm@macqel.be.
 					*/
 					if (tx_status & 0x10) {	/* TxUnderrun */
-						unsigned short txthreshold;
-
-						txthreshold = ioread16 (ioaddr + TxStartThresh);
 						/* Restart Tx FIFO and transmitter */
 						sundance_reset(dev, (NetworkReset|FIFOReset|TxReset) << 16);
-						iowrite16 (txthreshold, ioaddr + TxStartThresh);
 						/* No need to reset the Tx pointer here */
 					}
 					/* Restart the Tx. */
-- 
1.3.GIT




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
  2006-10-14 19:55 Jesse Huang
@ 2006-10-15 21:26 ` Benjamin Herrenschmidt
  2006-10-15 22:59   ` Alan Cox
  2006-10-16  1:39   ` Valdis.Kletnieks
  0 siblings, 2 replies; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-15 21:26 UTC (permalink / raw)
  To: Jesse Huang; +Cc: linux-kernel, netdev, akpm, jgarzik

On Sat, 2006-10-14 at 15:55 -0400, Jesse Huang wrote:
> From: Jesse Huang <jesse@icplus.com.tw>
> 
> Change Logs:
> For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent 
> is cut-through patent. If use this function, Tx will start to transmit after 
> few data be move in to Tx FIFO. We are not allow to use those function in 
> DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little 
> performance.

Somebody patented FIFO thresholds ? Gack ?

Ben.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
  2006-10-15 21:26 ` Benjamin Herrenschmidt
@ 2006-10-15 22:59   ` Alan Cox
  2006-10-16  1:39   ` Valdis.Kletnieks
  1 sibling, 0 replies; 8+ messages in thread
From: Alan Cox @ 2006-10-15 22:59 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Jesse Huang, linux-kernel, netdev, akpm, jgarzik

Ar Llu, 2006-10-16 am 07:26 +1000, ysgrifennodd Benjamin Herrenschmidt:
> On Sat, 2006-10-14 at 15:55 -0400, Jesse Huang wrote:
> > From: Jesse Huang <jesse@icplus.com.tw>
> > 
> > Change Logs:
> > For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent 
> > is cut-through patent. If use this function, Tx will start to transmit after 
> > few data be move in to Tx FIFO. We are not allow to use those function in 
> > DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little 
> > performance.
> 
> Somebody patented FIFO thresholds ? Gack ?

3COM hold several patents on certain kinds of early interrupt/early
start for network FIFOs. At least historically they also had a GPL Linux
driver that didn't use that feature on their own cards which I'm told
was fear of patent "leakage"

Alan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] remove TxStartThresh and RxEarlyThresh
  2006-10-15 21:26 ` Benjamin Herrenschmidt
  2006-10-15 22:59   ` Alan Cox
@ 2006-10-16  1:39   ` Valdis.Kletnieks
  1 sibling, 0 replies; 8+ messages in thread
From: Valdis.Kletnieks @ 2006-10-16  1:39 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Jesse Huang, linux-kernel, netdev, akpm, jgarzik

[-- Attachment #1: Type: text/plain, Size: 1745 bytes --]

On Mon, 16 Oct 2006 07:26:37 +1000, Benjamin Herrenschmidt said:
> Somebody patented FIFO thresholds ? Gack ?

The US PTO is fundamentally busticated.

http://www.engadget.com/2006/10/14/cisco-patents-the-triple-play/

Cisco got a patent on the concept of delivering voice, internet, and
cable TV over one cable.  Now admittedly, when they applied for it in 2000,
it wasn't a buzzword yet - but I'm pretty sure that there was prior art.

Back to the case at hand...

In the case of the TxStartThresh and RxEarlyThresh, I don't think it's
FIFO thresholds per se that are a problem - the note specifically mentioned
cut-through, which is a specific technique of starting to deal with the
alread-arrived head end of the packet *before* the tail end has arrived
yet. e.g. if you read a packet that has 16 bytes of control info followed
by 64 bytes of data, you have finished parsing the first 16 and have set
stuff up by the time the 64 bytes starts arriving - even though you only
started *one* read of 80 bytes).

Of course, even *that* is an old technique - I remember discussion (and
possibly implementation) of being able to read the front of an Ethernet
packet, and do the routing table lookup fast enough so that you could start
transmitting the packet on the outbound interface before it had finished
arriving on the inbound.  Of course, this was back when Proteon and Bay
were start-ups, nobody did IP option fields or router ACLs or stuff like
that, and level-3 routers were not much smarter (and perhaps stupider) than
today's level-2 switches that filter/route based on MAC address...

Maybe the patent is on the fact that you can't do cut-through routing well
without enforcing certain relationships on the Rx and Tx FIFO thresholds...

[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-10-16  1:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-02 18:23 [PATCH 1/5] remove TxStartThresh and RxEarlyThresh Jesse Huang
2006-10-02  6:53 ` Andrew Morton
2006-10-02  7:00   ` Roland Dreier
2006-10-02  7:10     ` Jesse Huang
  -- strict thread matches above, loose matches on Subject: below --
2006-10-14 19:55 Jesse Huang
2006-10-15 21:26 ` Benjamin Herrenschmidt
2006-10-15 22:59   ` Alan Cox
2006-10-16  1:39   ` Valdis.Kletnieks

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).