From: Manfred Schlaegl <manfred.schlaegl@gmx.at>
To: Alexander Stein <alexander.stein@systec-electronic.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.cz>,
linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
Manfred Schlaegl <manfred.schlaegl@ginzinger.com>
Subject: Re: [PATCH] serial: imx: reduce irq-latency after rx overflow
Date: Mon, 22 Jun 2015 10:20:10 +0200 [thread overview]
Message-ID: <5587C53A.9080308@gmx.at> (raw)
In-Reply-To: <4275820.CIOTxUBfmF@ws-stein>
[-- Attachment #1: Type: text/plain, Size: 1783 bytes --]
On 2015-06-22 08:48, Alexander Stein wrote:
> Am Samstag, 20. Juni 2015, 19:25:52 schrieb Manfred Schlaegl:
>> To prevent problems with interrupt latency, and due to the fact, that
>> the error will be counted anyway (icount.overrun), the dev_err is simply
>> removed.
>>
>> Background:
>> If an rx-fifo overflow occurs a dev_err message was called in interrupt
>> context. Since dev_err messages are written to console in a synchronous way
>> (unbuffered), and console may be a serial terminal, this leads to a
>> highly increased interrupt-latency (several milliseconds).
>> As a result of the high latency more rx-fifo overflows will happen, and
>> therefore a feedback loop of errors is created.
>
> I understand your rationale but removing this error message from kernel log removes the possibility to detect serial overruns by simply check the kernel log or output on kernel console. AFAICS you have to use TIOCGICOUNT to get the error counters.
> How about introducing a rate limit for this kernel message?
>
Hello!
I understand your argument, but:
1. In my personal opinion kernel error messages should only be used on internal errors (missing resources, asserts, ...) and in cases where no other way is (yet) available to report errors (by counters, return values, ...). Lost RX bytes on uarts seem more like a communication error and should be silently handled by higher layers using error counters, or protocol internal mechanisms.
2. I have found no other serial driver (except serial-tegra and imx) that reports this kind of errors using kernel messages.
3. Error counters for serial interfaces can also be retrieved from userspace by using procfs -> implemented in serial_core; e.g. /proc/tty/driver/IMX-uart.
best regards,
manfred
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2015-06-22 8:20 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-20 17:25 [PATCH] serial: imx: reduce irq-latency after rx overflow Manfred Schlaegl
2015-06-22 6:48 ` Alexander Stein
2015-06-22 8:20 ` Manfred Schlaegl [this message]
2015-06-22 9:47 ` Alexander Stein
-- strict thread matches above, loose matches on Subject: below --
2015-06-20 16:47 manfred.schlaegl
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=5587C53A.9080308@gmx.at \
--to=manfred.schlaegl@gmx.at \
--cc=alexander.stein@systec-electronic.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=manfred.schlaegl@ginzinger.com \
/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