are ioctl calls supposed to take this long?

Chris Friesen (cfriesen@nortelnetworks.com)
Fri, 06 Jul 2001 09:34:36 -0400


I am using the following snippet of code to find out some information about the
MII PHY interface of my ethernet device (which uses the tulip driver). When I
did some timing measurements with gettimeofday() I found that the ioctl call
takes a bit over a millisecond to complete. This seems to me to be an awfully
long time for what should be (as far as I can see) a very simple operation.

Is this the normal amount of time that this should take, and if so then why in
the world does it take so long? If not, then does anyone have any idea why it's
taking so long?

Thanks,

Chris

// code follows //

int skfd;
struct ifreq ifr;
ifname = "eth1";

if ((skfd = socket(AF_INET, SOCK_DGRAM,0)) < 0)
{
perror("socket");
exit(-1);
}

strncpy(ifr.ifr_name, ifname, IFNAMSIZ);

if (ioctl(skfd, SIOCDEVPRIVATE, &ifr) < 0)
{
fprintf(stderr, "SIOCDEVPRIVATE, on %s failed: %s\n", ifname,
strerror(errno));
close(skfd);
exit(-1);
}

-- 
Chris Friesen                    | MailStop: 043/33/F10  
Nortel Networks                  | work: (613) 765-0557
3500 Carling Avenue              | fax:  (613) 765-2986
Nepean, ON K2H 8E9 Canada        | email: cfriesen@nortelnetworks.com
-
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/