Date: Tue, 3 Apr 2007 01:21:10 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/uart uart_dev_ns8250.c Message-ID: <200704030121.l331LAuN034529@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
marcel 2007-04-03 01:21:10 UTC
FreeBSD src repository
Modified files:
sys/dev/uart uart_dev_ns8250.c
Log:
Don't use a time-limiting loop that's defined in terms of the baudrate
in the putc() method. Likewise, in the getc() method, don't check for
received characters with an interval defined in terms of the baudrate.
In both cases it works equally well to implement a fixed delay. More
importantly, it avoids calculating a delay that's roughly 1/10th the
time it takes to send/receive a character. The calculation is costly
and happens for every character sent or received, affecting low-level
console or debug port performance significantly. Secondly, when the
RCLK is not available or unreliable, the delays could disrupt normal
operation.
The fixed delay is 1/10th the time it takes to send a character at
230400 bps.
Revision Changes Path
1.27 +7 -13 src/sys/dev/uart/uart_dev_ns8250.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704030121.l331LAuN034529>
