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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

