On Fri, Dec 23, 2005 at 01:42:52PM +0100, Manfred Spraul wrote: > Hi, > > Andi Kleen wrote: > > >It shouldn't make any difference on !SLAB_DEBUG kernels because kmalloc > >will pad typical mtus (1.5k, 9k) to 2k or 16k. But at least the > >network driver is usable now again with slab debugging enabled. > > > > > > > Very odd. slab debugging doesn't affect the padding. Even with slab > debugging enabled, kmalloc pads allocations to 2k.
Hmm good point. But it definitely helps here. > 1) Ayaz - are there any known problems that might explain the behavior? > The driver allocates 1564+64 bytes memory for each rx buffer, and sets > the FlagLen field to 1564. Is it possible that the nic writes 80 bytes > beyond the end of the rx buffer? It's more than 82 bytes but less than 86. I didn't run the binary search further. > 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. It might make a difference with swiotlb, but I didn't use that. -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