Re: e1000 driver 2.6.18 - how to waste processor cycles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff V. Merkey wrote:

Jesse Brandeburg wrote:

On 11/9/06, Jeffrey V. Merkey <[email protected]> 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 [email protected]
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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux