On Mon, 26 Feb 2007 17:42:27 +1000 Philip Craig <[EMAIL PROTECTED]> wrote:
> Francois Romieu wrote: > > The experimental r8169 patch of the day against 2.6.21-rc1 is available at: > > http://www.fr.zoreil.com/linux/kernel/2.6.x/2.6.21-rc1/ > > Is 0006-r8169-confusion-between-hardware-and-IP-header-alignment.txt > the only relevant patch? > > This only partially helps. Many of the packets are greater than 200 > bytes so copybreak doesn't apply to them. > > Can we assume anything about the alignment of skb->data? I think it > should be 4 byte aligned, otherwise the whole NET_IP_ALIGN thing > won't work. All the drivers I looked at just reserve NET_IP_ALIGN > without checking the alignment first. > This is where the alignment comes from in slab.c #ifndef ARCH_KMALLOC_MINALIGN /* * Enforce a minimum alignment for the kmalloc caches. * Usually, the kmalloc caches are cache_line_size() aligned, except when * DEBUG and FORCED_DEBUG are enabled, then they are BYTES_PER_WORD aligned. * Some archs want to perform DMA into kmalloc caches and need a guaranteed * alignment larger than BYTES_PER_WORD. ARCH_KMALLOC_MINALIGN allows that. * Note that this flag disables some debug features. */ #define ARCH_KMALLOC_MINALIGN 0 #endif Since BYTES_PER_WORD is sizeof(void *) you are safe since Linux doesn't run on 16 bit platforms. -- Stephen Hemminger <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html