Re: copybreak scheme?

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

 



> In Ethernet-HOWTO I can read:
> "Bus Master Direct Memory Access (e.g. LANCE, DEC 21040)
> 
> Pro: Frees up the CPU during the data transfer, can string together buffers, can
> require little or no CPU time lost on the ISA bus. Most of the bus-mastering
> linux drivers now use a `copybreak' scheme where large packets are put directly
> into a kernel networking buffer by the card, and small packets are copied by the
> CPU which primes the cache for subsequent processing."
> 
> Thus, in case of full bus mastering the advantage is that the device can make
> complex operations (using the bus adress) without the help of the CPU, right?
> The advantage is that CPU can do other things. My question is why using CPU for
> small packets? 


It can take about the same amount of time to startup the transfere
as it does todo the actually transfere and handle the irq from the card
there fore you have much bigger gains because the data is also now
cached in the cpu. and example would be a tcp ack packet
about 56 bytes in length a would all be worked on.

56 = tcp + tcp options + ip + ip options + frame btw.


	James



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux