Linux CAN drivers development
 help / color / mirror / Atom feed
From: Viktor Babrian <babrian.viktor@renyi.mta.hu>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Viktor Babrian <babrian.viktor@renyi.mta.hu>,
	Andri Yngvason <andri.yngvason@marel.com>,
	Tom Evans <tom_usenet@optusnet.com.au>,
	linux-can@vger.kernel.org
Subject: Re: [PATCH 3.19-rc3] c_can: SIE disabled when berr-reporting is off to reduce irq flood
Date: Sun, 18 Jan 2015 19:52:56 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.02.1501181938030.32136@login> (raw)
In-Reply-To: <54BBFCAF.2090603@pengutronix.de>


> NACK. The transitions are important for some applications. I've an not
> yet mainlined series that limits the bus errors. I'm going to port them
> to the current kernel tomorrow. Can you test it?

This controller simply does not have a warn->pass state transition 
interrupt. The only way to accurately (right on time) report this 
transition is to switch on all error interrupts (ie the status interrupt) 
that cause interrupt flood in some scenarios e.g. when frame is not acked 
by other parties.
If we don't turn on the status interrupt, the warn->pass state transition 
can be detected later on a successful rx/tx event (or when entering bus 
off etc).

I have learned that the warn->pass transition interrupt is also missing 
from other controllers as well (like Flexcan). Interrupt flood caused by 
enabling error interrupts regardless of the berr-reporting state is an 
issue there too.

Also note that when the system is flooded by these error interrupts, 
system performace degrades so much that serial terminal echo becomes 
annoyingly long. When this happens, I wonder how usable the "accurate" 
state transition reports are anyway.

Regards,
Viktor




  reply	other threads:[~2015-01-18 18:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-03 17:54 [PATCH v5 3/5] can: mscan: Consolidate and unify state change handling Andri Yngvason
2015-01-12 17:18 ` c_can: (newbie) high system load when frame not acked? Viktor Babrian
     [not found]   ` <1735533.0yOonAfCy1@heinz>
2015-01-12 18:50     ` Viktor Babrian
2015-01-13  1:19       ` Tom Evans
2015-01-13 15:10         ` Viktor Babrian
2015-01-13 15:16           ` Marc Kleine-Budde
2015-01-13 15:54             ` Viktor Babrian
2015-01-13 15:55               ` Marc Kleine-Budde
2015-01-13 15:32           ` Andri Yngvason
2015-01-14  1:35             ` Tom Evans
2015-01-14  9:55               ` Andri Yngvason
2015-01-15  0:29                 ` Tom Evans
2015-01-18 18:30             ` [PATCH 3.19-rc3] c_can: SIE disabled when berr-reporting is off to reduce irq flood Viktor Babrian
2015-01-18 18:34               ` Marc Kleine-Budde
2015-01-18 18:52                 ` Viktor Babrian [this message]
2015-01-18 18:56                   ` Marc Kleine-Budde
2015-01-19 11:32                     ` Viktor Babrian
2015-01-19 22:35                 ` Tom Evans
2015-01-18 19:01               ` [PATCH 3.19-rc3] c_can: end transmission on network stop Viktor Babrian
2015-01-20 14:39                 ` Marc Kleine-Budde

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=alpine.DEB.2.02.1501181938030.32136@login \
    --to=babrian.viktor@renyi.mta.hu \
    --cc=andri.yngvason@marel.com \
    --cc=linux-can@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=tom_usenet@optusnet.com.au \
    /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