Re: e1000 driver 2.6.18 - how to waste processor cycles
flat view
From: Jeff V. Merkey <hidden>
Date: 2006-11-09 23:06:34
Also in:
lkml
Jeff V. Merkey wrote:
Jesse Brandeburg wrote:quoted
On 11/9/06, Jeffrey V. Merkey [off-list ref] wrote:quoted
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
quoted
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
quoted
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/