* [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35.
@ 2010-05-05 23:03 David Daney
2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
The 1/6 corrects a compile error that seems to have crept
in, as well as correcting the dev_addrs/uc snafu.
2/6 - 5/6 are some other small bug fixes.
6/6 just re-formats the code some.
They are relative to commit 0a12761bcd5646691c5d16dd93df84d1b8849285
in net-next-2.6/master
If OK please apply.
Thanks,
David Daney
David Daney (6):
netdev: octeon_mgmt: Use proper MAC addresses.
netdev: octeon_mgmt: Fix race condition freeing TX buffers.
netdev: octeon_mgmt: Fix race manipulating irq bits.
netdev: octeon_mgmt: Free TX skbufs in a timely manner.
netdev: octeon_mgmt: Try not to drop TX packets when stopping the
queue.
netdev: octeon_mgmt: Remove some gratuitous blank lines.
drivers/net/octeon/octeon_mgmt.c | 57 ++++++++++++++++++-------------------
1 files changed, 28 insertions(+), 29 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses.
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
@ 2010-05-05 23:03 ` David Daney
2010-05-06 7:18 ` David Miller
2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
The original implementation incorrectly uses netdev->dev_addrs.
Use netdev->uc instead. Also use netdev_for_each_uc_addr to iterate
over the addresses. Fix comment.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/net/octeon/octeon_mgmt.c | 15 +++++----------
1 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 6b1d443..bbbd737 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -475,12 +475,11 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
unsigned int multicast_mode = 1; /* 1 - Reject all multicast. */
struct octeon_mgmt_cam_state cam_state;
struct netdev_hw_addr *ha;
- struct list_head *pos;
int available_cam_entries;
memset(&cam_state, 0, sizeof(cam_state));
- if ((netdev->flags & IFF_PROMISC) || netdev->dev_addrs.count > 7) {
+ if ((netdev->flags & IFF_PROMISC) || netdev->uc.count > 7) {
cam_mode = 0;
available_cam_entries = 8;
} else {
@@ -488,13 +487,13 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
* One CAM entry for the primary address, leaves seven
* for the secondary addresses.
*/
- available_cam_entries = 7 - netdev->dev_addrs.count;
+ available_cam_entries = 7 - netdev->uc.count;
}
if (netdev->flags & IFF_MULTICAST) {
if (cam_mode == 0 || (netdev->flags & IFF_ALLMULTI) ||
netdev_mc_count(netdev) > available_cam_entries)
- multicast_mode = 2; /* 1 - Accept all multicast. */
+ multicast_mode = 2; /* 2 - Accept all multicast. */
else
multicast_mode = 0; /* 0 - Use CAM. */
}
@@ -502,12 +501,8 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
if (cam_mode == 1) {
/* Add primary address. */
octeon_mgmt_cam_state_add(&cam_state, netdev->dev_addr);
- list_for_each(pos, &netdev->dev_addrs.list) {
- struct netdev_hw_addr *hw_addr;
- hw_addr = list_entry(pos, struct netdev_hw_addr, list);
- octeon_mgmt_cam_state_add(&cam_state, hw_addr->addr);
- list = list->next;
- }
+ netdev_for_each_uc_addr(ha, netdev)
+ octeon_mgmt_cam_state_add(&cam_state, ha->addr);
}
if (multicast_mode == 0) {
netdev_for_each_mc_addr(ha, netdev)
--
1.6.6.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers.
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
@ 2010-05-05 23:03 ` David Daney
2010-05-06 7:18 ` David Miller
2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
` (3 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
Under heavy load the TX cleanup tasklet and xmit threads would race
and try to free too many buffers.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/net/octeon/octeon_mgmt.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index bbbd737..b975a2f 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -189,12 +189,19 @@ static void octeon_mgmt_clean_tx_buffers(struct octeon_mgmt *p)
mix_orcnt.u64 = cvmx_read_csr(CVMX_MIXX_ORCNT(port));
while (mix_orcnt.s.orcnt) {
+ spin_lock_irqsave(&p->tx_list.lock, flags);
+
+ mix_orcnt.u64 = cvmx_read_csr(CVMX_MIXX_ORCNT(port));
+
+ if (mix_orcnt.s.orcnt == 0) {
+ spin_unlock_irqrestore(&p->tx_list.lock, flags);
+ break;
+ }
+
dma_sync_single_for_cpu(p->dev, p->tx_ring_handle,
ring_size_to_bytes(OCTEON_MGMT_TX_RING_SIZE),
DMA_BIDIRECTIONAL);
- spin_lock_irqsave(&p->tx_list.lock, flags);
-
re.d64 = p->tx_ring[p->tx_next_clean];
p->tx_next_clean =
(p->tx_next_clean + 1) % OCTEON_MGMT_TX_RING_SIZE;
--
1.6.6.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits.
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
@ 2010-05-05 23:03 ` David Daney
2010-05-06 7:18 ` David Miller
2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
Don't re-read the interrupt status register, clear the exact bits we
will be testing.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/net/octeon/octeon_mgmt.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index b975a2f..633fa89 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -598,8 +598,7 @@ static irqreturn_t octeon_mgmt_interrupt(int cpl, void *dev_id)
mixx_isr.u64 = cvmx_read_csr(CVMX_MIXX_ISR(port));
/* Clear any pending interrupts */
- cvmx_write_csr(CVMX_MIXX_ISR(port),
- cvmx_read_csr(CVMX_MIXX_ISR(port)));
+ cvmx_write_csr(CVMX_MIXX_ISR(port), mixx_isr.u64);
cvmx_read_csr(CVMX_MIXX_ISR(port));
if (mixx_isr.s.irthresh) {
--
1.6.6.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner.
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
` (2 preceding siblings ...)
2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
@ 2010-05-05 23:03 ` David Daney
2010-05-06 7:19 ` David Miller
2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
We also reduce the high water mark to 1 so skbufs are not stranded for
long periods of time. Since we are cleaning after each packet, no
need to do it in the transmit path.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/net/octeon/octeon_mgmt.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 633fa89..3cf6f62 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -832,9 +832,9 @@ static int octeon_mgmt_open(struct net_device *netdev)
mix_irhwm.s.irhwm = 0;
cvmx_write_csr(CVMX_MIXX_IRHWM(port), mix_irhwm.u64);
- /* Interrupt when we have 5 or more packets to clean. */
+ /* Interrupt when we have 1 or more packets to clean. */
mix_orhwm.u64 = 0;
- mix_orhwm.s.orhwm = 5;
+ mix_orhwm.s.orhwm = 1;
cvmx_write_csr(CVMX_MIXX_ORHWM(port), mix_orhwm.u64);
/* Enable receive and transmit interrupts */
@@ -995,7 +995,6 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
netdev->trans_start = jiffies;
- octeon_mgmt_clean_tx_buffers(p);
octeon_mgmt_update_tx_stats(netdev);
return NETDEV_TX_OK;
}
--
1.6.6.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue.
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
` (3 preceding siblings ...)
2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
@ 2010-05-05 23:03 ` David Daney
2010-05-06 7:19 ` David Miller
2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
Stop the queue when we add the packet that will fill it instead of dropping the packet
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/net/octeon/octeon_mgmt.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 3cf6f62..1fdc7b3 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -955,6 +955,7 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
int port = p->port;
union mgmt_port_ring_entry re;
unsigned long flags;
+ int rv = NETDEV_TX_BUSY;
re.d64 = 0;
re.s.len = skb->len;
@@ -964,15 +965,18 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
spin_lock_irqsave(&p->tx_list.lock, flags);
+ if (unlikely(p->tx_current_fill >= ring_max_fill(OCTEON_MGMT_TX_RING_SIZE) - 1)) {
+ spin_unlock_irqrestore(&p->tx_list.lock, flags);
+ netif_stop_queue(netdev);
+ spin_lock_irqsave(&p->tx_list.lock, flags);
+ }
+
if (unlikely(p->tx_current_fill >=
ring_max_fill(OCTEON_MGMT_TX_RING_SIZE))) {
spin_unlock_irqrestore(&p->tx_list.lock, flags);
-
dma_unmap_single(p->dev, re.s.addr, re.s.len,
DMA_TO_DEVICE);
-
- netif_stop_queue(netdev);
- return NETDEV_TX_BUSY;
+ goto out;
}
__skb_queue_tail(&p->tx_list, skb);
@@ -995,8 +999,10 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
netdev->trans_start = jiffies;
+ rv = NETDEV_TX_OK;
+out:
octeon_mgmt_update_tx_stats(netdev);
- return NETDEV_TX_OK;
+ return rv;
}
#ifdef CONFIG_NET_POLL_CONTROLLER
--
1.6.6.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines.
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
` (4 preceding siblings ...)
2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
@ 2010-05-05 23:03 ` David Daney
2010-05-06 7:19 ` David Miller
5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
To: netdev; +Cc: linux-mips, David Daney
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/net/octeon/octeon_mgmt.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 1fdc7b3..3924703 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -380,7 +380,6 @@ done:
mix_ircnt.s.ircnt = 1;
cvmx_write_csr(CVMX_MIXX_IRCNT(port), mix_ircnt.u64);
return rc;
-
}
static int octeon_mgmt_receive_packets(struct octeon_mgmt *p, int budget)
@@ -390,7 +389,6 @@ static int octeon_mgmt_receive_packets(struct octeon_mgmt *p, int budget)
union cvmx_mixx_ircnt mix_ircnt;
int rc;
-
mix_ircnt.u64 = cvmx_read_csr(CVMX_MIXX_IRCNT(port));
while (work_done < budget && mix_ircnt.s.ircnt) {
@@ -516,7 +514,6 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
octeon_mgmt_cam_state_add(&cam_state, ha->addr);
}
-
spin_lock_irqsave(&p->lock, flags);
/* Disable packet I/O. */
@@ -525,7 +522,6 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
agl_gmx_prtx.s.en = 0;
cvmx_write_csr(CVMX_AGL_GMX_PRTX_CFG(port), agl_gmx_prtx.u64);
-
adr_ctl.u64 = 0;
adr_ctl.s.cam_mode = cam_mode;
adr_ctl.s.mcst = multicast_mode;
@@ -928,7 +924,6 @@ static int octeon_mgmt_stop(struct net_device *netdev)
octeon_mgmt_reset_hw(p);
-
free_irq(p->irq, netdev);
/* dma_unmap is a nop on Octeon, so just free everything. */
@@ -945,7 +940,6 @@ static int octeon_mgmt_stop(struct net_device *netdev)
DMA_BIDIRECTIONAL);
kfree(p->tx_ring);
-
return 0;
}
@@ -1112,7 +1106,6 @@ static int __init octeon_mgmt_probe(struct platform_device *pdev)
netdev->netdev_ops = &octeon_mgmt_ops;
netdev->ethtool_ops = &octeon_mgmt_ethtool_ops;
-
/* The mgmt ports get the first N MACs. */
for (i = 0; i < 6; i++)
netdev->dev_addr[i] = octeon_bootinfo->mac_addr_base[i];
--
1.6.6.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses.
2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
@ 2010-05-06 7:18 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06 7:18 UTC (permalink / raw)
To: ddaney; +Cc: netdev, linux-mips
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 5 May 2010 16:03:08 -0700
> The original implementation incorrectly uses netdev->dev_addrs.
>
> Use netdev->uc instead. Also use netdev_for_each_uc_addr to iterate
> over the addresses. Fix comment.
>
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers.
2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
@ 2010-05-06 7:18 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06 7:18 UTC (permalink / raw)
To: ddaney; +Cc: netdev, linux-mips
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 5 May 2010 16:03:09 -0700
> Under heavy load the TX cleanup tasklet and xmit threads would race
> and try to free too many buffers.
>
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits.
2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
@ 2010-05-06 7:18 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06 7:18 UTC (permalink / raw)
To: ddaney; +Cc: netdev, linux-mips
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 5 May 2010 16:03:10 -0700
> Don't re-read the interrupt status register, clear the exact bits we
> will be testing.
>
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner.
2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
@ 2010-05-06 7:19 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06 7:19 UTC (permalink / raw)
To: ddaney; +Cc: netdev, linux-mips
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 5 May 2010 16:03:11 -0700
> We also reduce the high water mark to 1 so skbufs are not stranded for
> long periods of time. Since we are cleaning after each packet, no
> need to do it in the transmit path.
>
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue.
2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
@ 2010-05-06 7:19 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06 7:19 UTC (permalink / raw)
To: ddaney; +Cc: netdev, linux-mips
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 5 May 2010 16:03:12 -0700
> Stop the queue when we add the packet that will fill it instead of dropping the packet
>
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines.
2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
@ 2010-05-06 7:19 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06 7:19 UTC (permalink / raw)
To: ddaney; +Cc: netdev, linux-mips
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 5 May 2010 16:03:13 -0700
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2010-05-06 7:19 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
2010-05-06 7:18 ` David Miller
2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
2010-05-06 7:18 ` David Miller
2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
2010-05-06 7:18 ` David Miller
2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
2010-05-06 7:19 ` David Miller
2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
2010-05-06 7:19 ` David Miller
2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
2010-05-06 7:19 ` David Miller
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).