]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/suse-2.6.27.39/patches.drivers/netxen-reduce-memory-footprint.patch
Fix oinkmaster patch.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / netxen-reduce-memory-footprint.patch
1 From 32ec803348b4d5f1353e1d7feae30880b8b3e342 Mon Sep 17 00:00:00 2001
2 From: Dhananjay Phadke <dhananjay@netxen.com>
3 Date: Mon, 26 Jan 2009 12:35:19 -0800
4 Subject: netxen: reduce memory footprint
5 Acked-by: Karsten Keil <kkeil@novell.com>
6 Reference: bnc#472416
7
8 o reduce rx ring size from 8192 to 4096.
9 o cut down old huge lro buffers.
10
11 Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
12 Signed-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
18 diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
19 index 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
48 diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
49 index 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 --
65 1.5.6.4
66