On Mon, 2013-05-13 at 09:41 +0200, Heiko Carstens wrote:
> On Sun, May 12, 2013 at 10:50:45PM +0200, Geert Uytterhoeven wrote:
> > On Sun, 12 May 2013, Geert Uytterhoeven wrote:
> > > However, the full list of errors isn't that unmanageable, so I'm following
> > > up with a digested list...
> > 
> > drivers/net/ethernet/sfc/efx.c:646:3: error: call to 
> > '__compiletime_assert_648' declared with attribute error: BUILD_BUG_ON 
> > failed: sizeof(struct efx_rx_page_state) + EFX_PAGE_IP_ALIGN + 
> > EFX_RX_USR_BUF_SIZE > PAGE_SIZE / 2: 2 errors in 2 logs
> >     v3.10-rc1/s390x/s390-allyesconfig v3.10-rc1/s390x/s390-allmodconfig
> 
> that seems to a BUILD_BUG_ON that only triggers on s390, because we have
> L1_CACHE_BYTES defined with 256 bytes... which seems to be more than any
> other architecture has.
> There was a different network driver that had a similar BUILD_BUG_ON, but
> it got removed.
> 
> Right, it was the igb driver:
> http://comments.gmane.org/gmane.linux.network/261378

The critical value here is EFX_RX_USR_BUF_SIZE.  The hardware constrains
it to be a multiple of 32, but for performance reasons it also ought to
be a multiple of the cache line size(s).  In our internal development
branch it has already been reduced to 1792, which is a multiple of 256
and should satisfy the BUILD_BUG_ON check.  I'll post a patch shortly.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to