From: Wolfgang Grandegger <wg@grandegger.com>
To: Martin Kozusky <mkozusky@kkmicro.cz>, linux-can@vger.kernel.org
Subject: Re: CAN messages being lost on i.MX25 with flexcan - continued (was CAN messages being lost on i.MX25 with flexcan - 2012-04-19)
Date: Tue, 29 Oct 2013 15:30:08 +0100 [thread overview]
Message-ID: <526FC670.4000209@grandegger.com> (raw)
In-Reply-To: <526FACBD.4030605@kkmicro.cz>
On 10/29/2013 01:40 PM, Martin Kozusky wrote:
> Dne 29.10.2013 13:03, Wolfgang Grandegger napsal(a):
>> On 10/29/2013 11:46 AM, Martin Kozusky wrote:
...
>>> Hello Wolfgang,
>>> it seems that my architecture (arm/mx25 on 2.6.35 kernel) is missing
>>> HAVE_FUNCTION_GRAPH_TRACER, HAVE_DYNAMIC_FTRACE options so it won't be
>>> that easy, will be?
>>> Timestamps that ftrace is showing me are in 10 miliseconds resolution,
>>> that won't help me much :(
Are high resolution timers enabled in the kernel? Still, event tracing
could would already be useful.
>> Probably that version is to old for proper ftrace support. The 100us you
>> measured for alloc_can_skb() is worst case, right? What is the mean
>> value?
>
> Now I checked again and logged every call (don't know if realy
> everything was logged but something was :) and I see that it is not
> 100usec, but only around 20usec (mean value - checked by eye). There
> were some very long calls (around 2ms!) that were puttings errors in my
> sum/count formula (may be I should filter out calls longer that
> 200usec), with this error it was not 100usec, but almost 1ms (my value
> was only 32bit and was overflowing when I wrote it first time). So
> normally around 20usec, but with very long calls around 2-3 ms (looks
> like those long are periodic - each 6th - 8th call is much longer, but
> not all the time)
Are these long latencies related to the SDcard accesses? I think the
problem is the rather long latencies caused by other kernel activity. In
your case caused by the MMC (SDcard) driver, I assume. The Flexcan
controller does buffer up to 5 messages before loosing packets.
> But still with those 20usec call, there are many RX overflows, if I
> disable the call alloc_can_skb, there are no overflows and all is
> received (but still not processed further, because I don't have skb ... )
Could you run this test for a longer time? The probability is just lower
that RX gets interrupted for a longer time, I think.
I see a few approaches to overcome this problem:
- fix the MMC driver to cause less latency. If you are lucky this is
already the case in more recent versions of the kernel.
- Use the "-rt" extension (CONFIG_PREEPMT_RT). It will then allow to
adjust priorities of soft and hard irq threads.
- Do the RX processing in the interrupt context, which would require
some custom modifications.
Wolfgang.
next prev parent reply other threads:[~2013-10-29 14:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-24 13:48 CAN messages being lost on i.MX25 with flexcan - continued (was CAN messages being lost on i.MX25 with flexcan - 2012-04-19) Martin Kozusky
2013-10-25 12:59 ` Martin Kozusky
2013-10-25 17:58 ` Wolfgang Grandegger
2013-10-26 18:18 ` Martin Kozusky
2013-10-26 19:40 ` Wolfgang Grandegger
2013-10-29 10:46 ` Martin Kozusky
2013-10-29 12:03 ` Wolfgang Grandegger
2013-10-29 12:22 ` Wolfgang Grandegger
2013-10-29 12:49 ` Martin Kozusky
2013-10-29 12:54 ` Gary Thomas
2013-10-29 13:00 ` "Martin Kožuský [KK micro s.r.o.]"
2013-10-29 12:40 ` Martin Kozusky
2013-10-29 14:30 ` Wolfgang Grandegger [this message]
2013-10-30 8:43 ` "Martin Kožuský [KK micro s.r.o.]"
2013-10-30 9:04 ` Wolfgang Grandegger
2013-10-30 9:14 ` "Martin Kožuský [KK micro s.r.o.]"
2013-10-30 9:27 ` Wolfgang Grandegger
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=526FC670.4000209@grandegger.com \
--to=wg@grandegger.com \
--cc=linux-can@vger.kernel.org \
--cc=mkozusky@kkmicro.cz \
/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).