Messages in this thread | | | Date | Thu, 30 Jul 2015 18:51:57 -0700 | From | Florian Fainelli <> | Subject | Re: [PATCH net-next 0/3] net: Switch tag HW extraction/insertion |
| |
On 30/07/15 15:51, David Miller wrote: > From: David Miller <davem@davemloft.net> > Date: Thu, 30 Jul 2015 14:19:35 -0700 (PDT) > >> This looks fine, series applied, thanks. > > I think your control block is too large, you'll need to rework this > somehow.
So napi_gro_cb really is 48 bytes on 64-bits architectures (had not realized it was so big).
What would you recommend to do here considering that this driver is currently used on 32-bits platforms, but I see no reason why someone would no want to use this feature on a 64-bit platform, yet we are competing with napi_gro_cb, and adding a new skbuff member is pretty much a no-no? Would it be acceptable to have a new member which is ifdef CONFIG_NET_DSA_TAG_BRCM?
FWIW, this does provide a small 2-3% throughput increase for RX.
> > In function ‘dsa_copy_brcm_tag’, > inlined from ‘bcm_sysport_desc_rx’ at drivers/net/ethernet/broadcom/bcmsysport.c:707:4, > inlined from ‘bcm_sysport_poll’ at drivers/net/ethernet/broadcom/bcmsysport.c:864:12: > include/linux/compiler.h:447:38: error: call to ‘__compiletime_assert_2016’ declared with attribute error: BUILD_BUG_ON failed: sizeof(skb->cb) - sizeof(struct napi_gro_cb) < BRCM_TAG_LEN > _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) > ^ > include/linux/compiler.h:430:4: note: in definition of macro ‘__compiletime_assert’ > prefix ## suffix(); \ > ^ > include/linux/compiler.h:447:2: note: in expansion of macro ‘_compiletime_assert’ > _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) > ^ > include/linux/bug.h:50:37: note: in expansion of macro ‘compiletime_assert’ > #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) > ^ > include/linux/bug.h:74:2: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ > BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) > ^ > include/linux/netdevice.h:2016:2: note: in expansion of macro ‘BUILD_BUG_ON’ > BUILD_BUG_ON(sizeof(skb->cb) - sizeof(struct napi_gro_cb) < BRCM_TAG_LEN); > ^ > scripts/Makefile.build:264: recipe for target 'drivers/net/ethernet/broadcom/bcmsysport.o' failed >
-- Florian
| |