diff options
author | Nimrod Andy <B38611@freescale.com> | 2014-09-30 09:28:05 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-01 21:28:21 -0400 |
commit | 1b7bde6d659d30f171259cc2dfba8e5dab34e735 (patch) | |
tree | 93990ae75315127b3c75a5e4441923889268e78f /drivers/net/ethernet/freescale/fec.h | |
parent | ce1a4ea3f125863bfbcb1afb76590ee2b7b93fbf (diff) | |
download | lwn-1b7bde6d659d30f171259cc2dfba8e5dab34e735.tar.gz lwn-1b7bde6d659d30f171259cc2dfba8e5dab34e735.zip |
net: fec: implement rx_copybreak to improve rx performance
- Copy short frames and keep the buffers mapped, re-allocate skb instead of
memory copy for long frames.
- Add support for setting/getting rx_copybreak using generic ethtool tunable
Changes V3:
* As Eric Dumazet's suggestion that removing the copybreak module parameter
and only keep the ethtool API support for rx_copybreak.
Changes V2:
* Implements rx_copybreak
* Rx_copybreak provides module parameter to change this value
* Add tunable_ops support for rx_copybreak
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fec.h')
-rw-r--r-- | drivers/net/ethernet/freescale/fec.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h index 354a30954fb1..1d5e1822bb2c 100644 --- a/drivers/net/ethernet/freescale/fec.h +++ b/drivers/net/ethernet/freescale/fec.h @@ -482,6 +482,8 @@ struct fec_enet_private { unsigned int tx_pkts_itr; unsigned int tx_time_itr; unsigned int itr_clk_rate; + + u32 rx_copybreak; }; void fec_ptp_init(struct platform_device *pdev); |