Skip to contentSkip to conversation

Expand Tx timestamping coverage by two drivers

PATCH Applied Richard Cochran 4 participants 12 messages Mar 10, 2012 – Apr 8, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover Expand Tx timestamping coverage by two drivers

This series adds SO_TIMESTAMPING in the transmit path for the Ethernet MACs found in my older laptop and newer netbook.

Richard Cochran (2):
r8169: enable transmit time stamping.
e100: enable transmit time stamping.

 drivers/net/ethernet/intel/e100.c    |    2 ++
 drivers/net/ethernet/realtek/r8169.c |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.2.5
#1 lore raw

PATCH 1/2 r8169: enable transmit time stamping.

This patch has been tested on a machine with the Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05).

Cc Realtek linux nic maintainers <[email protected]>
Cc Francois Romieu <[email protected]>
---
 drivers/net/ethernet/realtek/r8169.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/net/ethernet/realtek/r8169.c +2 -0
index c04df3d..4c6041c 100644
@@ -5564,6 +5564,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
 
 	netdev_sent_queue(dev, skb->len);
 
+	skb_tx_timestamp(skb);
+
 	wmb();
 
 	/* Anti gcc 2.95.3 bugware (sic) */
Signature · 1 line
1.7.2.5
#2 lore raw

Re: [PATCH net-next 1/2] r8169: enable transmit time stamping.

Richard Cochran <[email protected]> :

Quoted 5 lines

This patch has been tested on a machine with the Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05).

Cc Realtek linux nic maintainers <[email protected]>
Cc Francois Romieu <[email protected]>

It seems ok. It is hooked at the right place.

Signature · 1 line
Ueimor
maintainer Applied
#3 lore raw

Re: [PATCH net-next 1/2] r8169: enable transmit time stamping.

From: Francois Romieu <[email protected]>
Date: Sat, 10 Mar 2012 23:21:47 +0100

Quoted 8 lines

Richard Cochran <[email protected]> :

Quoted 5 lines

This patch has been tested on a machine with the Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05).

Cc Realtek linux nic maintainers <[email protected]>
Cc Francois Romieu <[email protected]>

It seems ok. It is hooked at the right place.

Applied.

#4 lore raw

PATCH 2/2 e100: enable transmit time stamping.

In reply to Richard Cochran

This patch enables software (and phy device) transmit time stamping. Tested on an old PIII laptop with built in NIC.

Cc Alex Duyck <[email protected]>
Cc Bruce Allan <[email protected]>
Cc Carolyn Wyborny <[email protected]>
Cc Don Skidmore <[email protected]>
Cc Greg Rose <[email protected]>
Cc Jeff Kirsher <[email protected]>
Cc Jesse Brandeburg <[email protected]>
Cc John Ronciak <[email protected]>
Cc Peter P Waskiewicz Jr <[email protected]>
---
 drivers/net/ethernet/intel/e100.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/net/ethernet/intel/e100.c +2 -0
index e498eff..8a1ba85 100644
@@ -918,6 +918,8 @@ static int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
 		}
 	}
 
+	if (skb)
+		skb_tx_timestamp(skb);
 err_unlock:
 	spin_unlock_irqrestore(&nic->cb_lock, flags);
 
Signature · 1 line
1.7.2.5
#5 lore raw

Re: [PATCH net-next 2/2] e100: enable transmit time stamping.

Quoted 13 lines · Richard Cochran

This patch enables software (and phy device) transmit time stamping. Tested on an old PIII laptop with built in NIC.

Cc Alex Duyck <[email protected]>
Cc Bruce Allan <[email protected]>
Cc Carolyn Wyborny <[email protected]>
Cc Don Skidmore <[email protected]>
Cc Greg Rose <[email protected]>
Cc Jeff Kirsher <[email protected]>
Cc Jesse Brandeburg <[email protected]>
Cc John Ronciak <[email protected]>
Cc Peter P Waskiewicz Jr <[email protected]>
Quoted 4 lines
---
 drivers/net/ethernet/intel/e100.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-) 

Thanks Richard, I will add the patch to my queue.

#6 lore raw

Re: [PATCH net-next 2/2] e100: enable transmit time stamping.

In reply to Richard Cochran
Quoted 13 lines · Richard Cochran

This patch enables software (and phy device) transmit time stamping. Tested on an old PIII laptop with built in NIC.

Cc Alex Duyck <[email protected]>
Cc Bruce Allan <[email protected]>
Cc Carolyn Wyborny <[email protected]>
Cc Don Skidmore <[email protected]>
Cc Greg Rose <[email protected]>
Cc Jeff Kirsher <[email protected]>
Cc Jesse Brandeburg <[email protected]>
Cc John Ronciak <[email protected]>
Cc Peter P Waskiewicz Jr <[email protected]>
Quoted 4 lines
---
 drivers/net/ethernet/intel/e100.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-) 

Richard-

I had this patch in my queue, but during testing we found some serious issues with some adapters. With every 82559 based adapter Aaron tried the system would panic on driver load. This included at least one sampling of D101S and D101M. Every other e100 chipset Aaron tried (82557, 82558, 82550) appeared to work fine.

So I am dropping this patch as is due to the kernel panics.

Cheers,
Jeff

#7 lore raw

Re: [PATCH net-next 2/2] e100: enable transmit time stamping.

Quoted 8 lines · Jeff Kirsher

I had this patch in my queue, but during testing we found some serious issues with some adapters. With every 82559 based adapter Aaron tried the system would panic on driver load. This included at least one sampling of D101S and D101M. Every other e100 chipset Aaron tried (82557, 82558, 82550) appeared to work fine.

So I am dropping this patch as is due to the kernel panics.

Okay, fine. That driver is strangely written, with weird callbacks and passing function pointers around.

Taking a second look, I think I might have found the problem. The drivers casts a firmware pointer onto a skb, and my patch then tries to timestamp the firmware blob.

If I rework this, are you willing to give it another try?

Thanks,
Richard

#8 lore raw

Re: [PATCH net-next 2/2] e100: enable transmit time stamping.

Quoted 13 lines · Richard Cochran
Quoted 8 lines · Jeff Kirsher

I had this patch in my queue, but during testing we found some serious issues with some adapters. With every 82559 based adapter Aaron tried the system would panic on driver load. This included at least one sampling of D101S and D101M. Every other e100 chipset Aaron tried (82557, 82558, 82550) appeared to work fine.

So I am dropping this patch as is due to the kernel panics.

Okay, fine. That driver is strangely written, with weird callbacks and passing function pointers around.

Quoted 8 lines

Taking a second look, I think I might have found the problem. The drivers casts a firmware pointer onto a skb, and my patch then tries to timestamp the firmware blob.

If I rework this, are you willing to give it another try?

Thanks,
Richard

Yeah, we appreciate the work your doing. Just send me an updated patch and I will add it to my queue.

That was our thoughts as well regarding the firmware blobs.

#9 lore raw

v2 cover e100: support Tx timestamping

Changes in V2:
- Avoid time stamping of firmware blobs

This patch adds SO_TIMESTAMPING in the transmit path for the Ethernet MACs found in my older laptop.

Richard Cochran (1):
e100: enable transmit time stamping.

 drivers/net/ethernet/intel/e100.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.2.5
#10 lore raw

PATCH v2 1/1 e100: enable transmit time stamping.

In reply to Jeff Kirsher

This patch enables software (and phy device) transmit time stamping. Tested on an old PIII laptop with built in NIC.

Cc Alex Duyck <[email protected]>
Cc Bruce Allan <[email protected]>
Cc Carolyn Wyborny <[email protected]>
Cc Don Skidmore <[email protected]>
Cc Greg Rose <[email protected]>
Cc Jeff Kirsher <[email protected]>
Cc Jesse Brandeburg <[email protected]>
Cc John Ronciak <[email protected]>
Cc Peter P Waskiewicz Jr <[email protected]>
---
 drivers/net/ethernet/intel/e100.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/net/ethernet/intel/e100.c +1 -0
index e498eff..872e17c 100644
@@ -1759,6 +1759,7 @@ static void e100_xmit_prepare(struct nic *nic, struct cb *cb,
 		skb->data, skb->len, PCI_DMA_TODEVICE));
 	/* check for mapping failure? */
 	cb->u.tcb.tbd.size = cpu_to_le16(skb->len);
+	skb_tx_timestamp(skb);
 }
 
 static netdev_tx_t e100_xmit_frame(struct sk_buff *skb,
Signature · 1 line
1.7.2.5
#11 lore raw

Re: [PATCH V2 net-next 1/1] e100: enable transmit time stamping.

Quoted 13 lines · Richard Cochran

This patch enables software (and phy device) transmit time stamping. Tested on an old PIII laptop with built in NIC.

Cc Alex Duyck <[email protected]>
Cc Bruce Allan <[email protected]>
Cc Carolyn Wyborny <[email protected]>
Cc Don Skidmore <[email protected]>
Cc Greg Rose <[email protected]>
Cc Jeff Kirsher <[email protected]>
Cc Jesse Brandeburg <[email protected]>
Cc John Ronciak <[email protected]>
Cc Peter P Waskiewicz Jr <[email protected]>
Quoted 4 lines
---
 drivers/net/ethernet/intel/e100.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-) 

Thanks Richard, I will add this to my queue.