Hello,

 While attempting to optimize one of my applications, I've noticed the
following. ioctls performed by my application on an e1000 interface
are quite slow. This performance issue affects ioctls that set
interface data, rather than ioctls that retrieve interface data. The
slowest ioctls can be seen to take 0.1 seconds, while the other ioctls
take 0.05 seconds to complete. I looked at the driver code a bit, but
from what I gather, ioctls are asynchrnous, and should not take a
while to complete, which leads me to suspect that the problem may not
be e1000 related.  My specs are as follows:
 1. NIC Model: Intel Corporation 82571EB Gigabit Ethernet Controller
(Copper) (rev 06)
 2. Kernel version: 2.6.16.46-253
 3. Full uname: Linux host 2.6.16.46-253 SMP Wed Aug 13 12:47:02 IDT
2008 x86_64 x86_64 x86_64 GNU/Linux

I've attached strace output that illustrates my problem. The program
used to generate the system calls appearing in the file works by
performing ioctls in a tight loop. Each ioctl sets some interface
data. In every iteration of the loop, the data being set is changed
slightly. When the data being set is not changed across loop
iterations, then performance is OK. Any ideas as to why the ioctls are
so slow?

Thanks,
   Yotam Rubin
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel

Reply via email to