Search Linux Wireless

RE: SDIO network card design - Packet Aggregation and Interrupt Load

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

 



Hi,

i have a question regarding the design of a network card
which is attached via SDIO. SDIO transfers are handled by
a SDIO host controller in the system which can do DMA from
the host memory to the device. The end of such a transfer
can be indicated via an interrupt. The transfer has to be
triggered by the cpu. So there is no DMA ring like in
standard ethernet cards.

The default way of operation would be to transfer each
packet with one DMA transfer. Such a transfer takes
between 10µs and 180µs depending on the packet length.
Each transfer requires cpu activity to be triggered.
My fear is that there is a high system load due to interrupts.

Question 1:
Do you have measurement data regarding the cost of
an interrupt? I did some google search and found different
numbers. On an ARM OMAP platform Francis David [1] claims
cost due to interrupt of ~200µs/interrupt.
Dan Tsafir [2] did measurements resulting in overheads
of 5-15µs/interrupt for different intel architectures.

Question 2:
Do you think it it would be worth to have a packet
aggregation mode, where a number of packets are transfered
in one DMA transfer? That would reduce the number of required cpu
interactions. As only SDIO SDMA transfers [3] are assumed,
it would however involve packet copying.

Question 3:
Regarding driver design, do you think that polling the
DMA host controller would be an efficient way? Polling done
in the NAPI poll routine, waiting for DMA transfers to finish?

Comments are welcome!

Regards

Friedrich

References:
[1] http://choices.cs.uiuc.edu/contextswitching.pdf
[2] http://www.cs.huji.ac.il/~feit/exp/expcs07/papers/140.pdf
[3] http://www.sdcard.org/about/host_controller/simple_spec









--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux