On 08/24/2016 03:36 AM, Christophe Leroy wrote: > Measurement shows that on a MPC8xx running at 132MHz, the optimal > limit is 112: > * 114 bytes packets are processed in 147 TB ticks with higher copybreak > * 114 bytes packets are processed in 148 TB ticks with lower copybreak > * 128 bytes packets are processed in 154 TB ticks with higher copybreak > * 128 bytes packets are processed in 148 TB ticks with lower copybreak > * 238 bytes packets are processed in 172 TB ticks with higher copybreak > * 238 bytes packets are processed in 148 TB ticks with lower copybreak > > However it might be different on other processors > and/or frequencies. So it is useful to make it configurable. > > Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr> > --- > drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 8 +++++--- > include/linux/fs_enet_pd.h | 1 - > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c > b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c > index addcae6..b59bbf8 100644 > --- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c > +++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c > @@ -60,6 +60,10 @@ module_param(fs_enet_debug, int, 0); > MODULE_PARM_DESC(fs_enet_debug, > "Freescale bitmapped debugging message enable value"); > > +static int rx_copybreak = 240; > +module_param(rx_copybreak, int, S_IRUGO | S_IWUSR); > +MODULE_PARM_DESC(rx_copybreak, "Receive copy threshold");
There is an ethtool tunable knob for copybreak now, which you should prefer over a module parameter, see drivers/net/ethernet/cisco/enic/enic_ethtool.c -- Florian