On Fri, Dec 23, 2005 at 03:15:24PM +0100, Manfred Spraul wrote: > Andi Kleen wrote: > > >It's more than 82 bytes but less than 86. I didn't run the binary > >search further. > > > > > > > My guess: with 86 byte additional padding, you end up doing > kmalloc(2049), and thus with a 4 kB allocation.
My MTU is normal 1.5k. Even with 64bit skb_shared_info it shouldn't cross into the 2k range. 64bit skb_shared_info with 4k pages is ~300 bytes and there should be over 200 bytes left before it would enter the 2k slab. > >>2) Andi - does your system have more than 4 GB memory? As I noticed > >>yesterday, all pci_map_single() calls from the rx codepath actually > >>called pci_map_single() with size==0. > >> > >> > > > >Yes, it has and I'm also running with iommu=force which forces > >all IO through the IOMMU. But the x86-64 AGP IOMMU code > >always rounds up to a page, so even with 0 size it should > >be ok as long as the MTU+overhead is <4K. > > > Or if a pointer crosses a page boundary, correct? I added printks to the > forcedeth code, and there were pointers that cross a page boundary: > > forcedeth rx alloc: ptr ffff81001f2b4bf0 alloc len 1628 Yes - the remapping works in pages and if you want to cross pages you need to give a correct length. -Andi - 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