linux/drivers/net/ethernet/freescale
Claudiu Manoil b597d20d59 gianfar: Cleanup and optimize struct gfar_private
Group run-time critical fields within the 1st cacheline (32B)
followed by the tx|rx_queue reference arrays and the interrupt
group instances (gfargrp), all cacheline aligned.

This has several benefits. Firstly comes the performance benefit
by having the members required by the driver's hot path re-grouped
in the structure's first cache lines, whereas the unimportant
members were pushed towards the end of the struct.
Another benefit comes from eliminating a 24 byte memory hole that
was rendering gfar_priv's 2nd cacheline useless. The default gcc
layout of gfar_private leaves an implicit 24 byte hole after the
errata (enum) member. This patch fixes it.

The uchar bitfields were pushed towards the end of the struct
as these are not run-time performance critical (used for init
time operations). Because there is no other 2 byte member
around to couple the uchar bitfields memeber with, we will
have an addititnal 2 byte hole after the bitfields. This is
unsignificant however, and it doesn't influence gfar_priv's
size, because the whole structure is padded to be a 32B multiple.

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-02-14 13:32:24 -05:00
..
fs_enet ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
fec_mpc52xx_phy.c
fec_mpc52xx.c net: fec_mpc52xx: Read MAC address from device-tree 2013-02-12 16:15:10 -05:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_ptp.c net: fec: fix spin_lock dead lock 2013-02-07 23:36:41 -05:00
fec.c net: fec: correct fix method about miss init spinlock 2013-02-07 23:36:41 -05:00
fec.h net: fec: add napi support to improve proformance 2013-01-29 14:16:17 -05:00
fsl_pq_mdio.c net/fsl_pq_mdio: add support for the Fman 1G MDIO controller 2012-08-30 13:29:32 -04:00
gianfar_ethtool.c gianfar: convert u64 status counters to atomic64_t 2013-02-12 19:08:27 -05:00
gianfar_ptp.c gianfar_ptp: use iomem, not ioports resource tree in probe 2012-10-24 23:18:59 -04:00
gianfar_sysfs.c drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
gianfar.c gianfar: Add device ref (dev) in gfar_private 2013-02-14 13:32:24 -05:00
gianfar.h gianfar: Cleanup and optimize struct gfar_private 2013-02-14 13:32:24 -05:00
Kconfig NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
Makefile NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
ucc_geth_ethtool.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
ucc_geth.c net: fix typo in freescale/ucc_geth.c 2012-10-09 00:21:38 -04:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
xgmac_mdio.c net/freescale: remove __dev* attributes 2012-12-03 11:16:54 -08:00