Messages in this thread | | | Date | Thu, 09 Nov 2006 15:54:08 -0700 | From | "Jeff V. Merkey" <> | Subject | Re: e1000 driver 2.6.18 - how to waste processor cycles |
| |
Jeff V. Merkey wrote:
> Jesse Brandeburg wrote: > >> On 11/9/06, Jeffrey V. Merkey <jmerkey@soleranetworks.com> wrote: >> >>> In the case I am referring to, the memory is already mapped with a >>> previous call, which means it may be getting >>> mapped twice. >> >> >> >> I guess maybe I'm not keeping up with you. This is what I see looking >> in 2.6.18, i see e1000_clean_rx_irq: > > > > Check e1000_alloc_rx_buffers: > > if (skb already exists in ring buffer) > goto map_skb: > else > dev_alloc_skb > ( drop through to map_skb) > > > map_skb: > pci_map_single > > Jeff
> >> >> check done bit >> pci_unmap_single >> copybreak and recycle >> OR >> hand buffer up stack >> >> the only branch before the unmap is the napi break out, and in that >> case we don't change any memory state, so alloc will not do anything. >> >> As for alloc rx, we always map, because we always unmapped. > Unmapping every single buffer in rx_irq the remapping them in alloc_rx_buffers is wasteful of cycles.
Jeff
>> >> Did I miss something? I would appreciate a more detailed explanation >> of what you see going wrong. >> >> > > - > To unsubscribe from this list: send the line "unsubscribe > linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |