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

Reply via email to