From: "Richard B. Johnson" <root@chaos.analogic.com>
To: Chris Friesen <cfriesen@nortelnetworks.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: are ioctl calls supposed to take this long?
Date: Fri, 6 Jul 2001 10:41:43 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.3.95.1010706103248.519B-100000@chaos.analogic.com> (raw)
In-Reply-To: <3B45BE6C.5DBE4F35@nortelnetworks.com>
On Fri, 6 Jul 2001, Chris Friesen wrote:
>
> 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,
>
It's not ioctl() overhead, it's what has to be done in the driver to
get the information you request.
(1) Stop the chip
(2) Read the media interface using an awful SERIAL protocol in which
you manipulate 3 bits using multiple instructions, to send
or receive a single BIT (not BYTE) of data. You do the 8 times
per byte.
(3) Restart the chip.
You are lucky it doesn't take an hour. This garbage 1 bit interface,
in which hardware designers assumed that software was free, is an
example of the junk software engineers have to put up with.
This is, obviously, not designed to be accessed very often, just
any time somebody disconnects/reconnects the network wire. Don't
ioctl-it in a loop. You will lose most of the network packets.
Cheers,
Dick Johnson
Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).
I was going to compile a list of innovations that could be
attributed to Microsoft. Once I realized that Ctrl-Alt-Del
was handled in the BIOS, I found that there aren't any.
next prev parent reply other threads:[~2001-07-06 14:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-06 13:34 are ioctl calls supposed to take this long? Chris Friesen
2001-07-06 14:41 ` Richard B. Johnson [this message]
2001-07-06 15:14 ` Chris Friesen
2001-07-06 15:32 ` Richard B. Johnson
2001-07-06 15:40 ` Chris Friesen
2001-07-06 18:26 ` why this 1ms delay in mdio_read? (cont'd from "are ioctl calls supposed to take this long?") Chris Friesen
2001-07-06 18:48 ` Richard B. Johnson
2001-07-06 19:35 ` Chris Friesen
2001-07-06 21:41 ` Donald Becker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.3.95.1010706103248.519B-100000@chaos.analogic.com \
--to=root@chaos.analogic.com \
--cc=cfriesen@nortelnetworks.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).