All of lore.kernel.org
 help / color / mirror / Atom feed
From: Federico Tula Rovaletti <fedetula@gmail.com>
To: linux-c-programming@vger.kernel.org
Subject: function read() isn't quick enough for reading in ttyS*
Date: Fri, 01 Aug 2008 20:13:11 -0300	[thread overview]
Message-ID: <48939887.9030303@gmail.com> (raw)

Hi all! I'm a novice in Linux

In a program I'm writing in c, when I use the read() function for
reading a byte in the serial port with a configuration: 115200 bps,
8N2

takes from 2ms to 6ms (aleatory, even if read up to 10 bytes takes the
same time), which is  too long.
(ioctl(fd, FIONREAD, &bytes)  last the same)

This is the time is suppose to last:
8 bits: data
2 bits: stop
1 bit: start
time = ((8+2+1)bits/115200bps) = 0.095ms,

then when I read the byte with the function inb_p() takes ~ 0.1ms
which is perfect, what I'm needing for my project.

The problem I'm having is that I use signals (with fcntl(fd, F_SETFL,
O_ASYNC) ) but this signals last the same time in occur that the
read() (unacceptable) so I guess that this is a problem of the driver
that is to slow.

So the question is, is there any way to improve the performance of the
driver, or how can I have a faster response with read()? (doing inb_p
is very nasty). Do I'm doing something wrong?

Thanks in advance!, I expect as soon as possible any answer

PD: sorry for my bad English,


             reply	other threads:[~2008-08-01 23:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-01 23:13 Federico Tula Rovaletti [this message]
2008-08-04  5:44 ` function read() isn't quick enough for reading in ttyS* Stalin Kenny
2008-08-04 17:35 ` Glynn Clements
  -- strict thread matches above, loose matches on Subject: below --
2008-07-31  6:17 Federico Tula Rovaletti

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=48939887.9030303@gmail.com \
    --to=fedetula@gmail.com \
    --cc=linux-c-programming@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.