]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.drivers/netxen-reduce-memory-footprint.patch
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / netxen-reduce-memory-footprint.patch
CommitLineData
2cb7cef9
BS
1From 32ec803348b4d5f1353e1d7feae30880b8b3e342 Mon Sep 17 00:00:00 2001
2From: Dhananjay Phadke <dhananjay@netxen.com>
3Date: Mon, 26 Jan 2009 12:35:19 -0800
4Subject: netxen: reduce memory footprint
5Acked-by: Karsten Keil <kkeil@novell.com>
6Reference: bnc#472416
7
8o reduce rx ring size from 8192 to 4096.
9o cut down old huge lro buffers.
10
11Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
12Signed-off-by: David S. Miller <davem@davemloft.net>
13---
14 drivers/net/netxen/netxen_nic.h | 12 ++++++------
15 drivers/net/netxen/netxen_nic_ethtool.c | 5 ++++-
16 2 files changed, 10 insertions(+), 7 deletions(-)
17
18diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
19index c11c568..a75a310 100644
20--- a/drivers/net/netxen/netxen_nic.h
21+++ b/drivers/net/netxen/netxen_nic.h
22@@ -146,7 +146,7 @@
23
24 #define MAX_RX_BUFFER_LENGTH 1760
25 #define MAX_RX_JUMBO_BUFFER_LENGTH 8062
26-#define MAX_RX_LRO_BUFFER_LENGTH ((48*1024)-512)
27+#define MAX_RX_LRO_BUFFER_LENGTH (8062)
28 #define RX_DMA_MAP_LEN (MAX_RX_BUFFER_LENGTH - 2)
29 #define RX_JUMBO_DMA_MAP_LEN \
30 (MAX_RX_JUMBO_BUFFER_LENGTH - 2)
31@@ -207,11 +207,11 @@
32
33 #define MAX_CMD_DESCRIPTORS 4096
34 #define MAX_RCV_DESCRIPTORS 16384
35-#define MAX_CMD_DESCRIPTORS_HOST (MAX_CMD_DESCRIPTORS / 4)
36-#define MAX_RCV_DESCRIPTORS_1G (MAX_RCV_DESCRIPTORS / 4)
37-#define MAX_RCV_DESCRIPTORS_10G 8192
38-#define MAX_JUMBO_RCV_DESCRIPTORS 1024
39-#define MAX_LRO_RCV_DESCRIPTORS 64
40+#define MAX_CMD_DESCRIPTORS_HOST 1024
41+#define MAX_RCV_DESCRIPTORS_1G 2048
42+#define MAX_RCV_DESCRIPTORS_10G 4096
43+#define MAX_JUMBO_RCV_DESCRIPTORS 512
44+#define MAX_LRO_RCV_DESCRIPTORS 8
45 #define MAX_RCVSTATUS_DESCRIPTORS MAX_RCV_DESCRIPTORS
46 #define MAX_JUMBO_RCV_DESC MAX_JUMBO_RCV_DESCRIPTORS
47 #define MAX_RCV_DESC MAX_RCV_DESCRIPTORS
48diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
49index c0bd40f..0894a7b 100644
50--- a/drivers/net/netxen/netxen_nic_ethtool.c
51+++ b/drivers/net/netxen/netxen_nic_ethtool.c
52@@ -561,7 +561,10 @@ netxen_nic_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring)
53 }
54 ring->tx_pending = adapter->max_tx_desc_count;
55
56- ring->rx_max_pending = MAX_RCV_DESCRIPTORS;
57+ if (adapter->ahw.board_type == NETXEN_NIC_GBE)
58+ ring->rx_max_pending = MAX_RCV_DESCRIPTORS_1G;
59+ else
60+ ring->rx_max_pending = MAX_RCV_DESCRIPTORS_10G;
61 ring->tx_max_pending = MAX_CMD_DESCRIPTORS_HOST;
62 ring->rx_jumbo_max_pending = MAX_JUMBO_RCV_DESCRIPTORS;
63 ring->rx_mini_max_pending = 0;
64--
651.5.6.4
66