From: Mirza Krak <mirza.krak@hostmobility.com>
To: linux-can@vger.kernel.org
Subject: Dual SJA1000 can controllers on SMP system.
Date: Thu, 13 Jun 2013 14:47:29 +0200 [thread overview]
Message-ID: <51B9BF61.8050905@hostmobility.com> (raw)
Dear Sirs.
I am running a 3.1.10 kernel on Nvidia Tegra 2 CPU (Dual Core). Not
vanilla kernel (Linux4Tegra).
We are using dual can controllers connected on th external data bus on
our custom hardware. The can controllers are SJA1000.
Driver that is used is vanilla sja1000 driver (sja1000.c)
Now to the issue at hand. Will try my best to explain our scenario and
issue:
1. The two can controllers are connected with each other with a
loop-back.
2. What we are attempting is to send data on both controllers in
two separate processes. We are using following command "cansequence can0
-p &" and "cansequence can1 -p &". With a bit-rate configured to 1 Mbit/s.
3. What we see when we attempt the above is that one of the
controllers stop sending and the software buffer gets filled up. When it
stops varies but usually after a few packets are sent.
After some digging we came to this conclusion. The two cansequence
processes end up on different CPU cores. The process that ends up in
CPU1 is the one that always stops transmitting.
Workarounds that we have seen that works is
1. Disable dual core with kernel argument "maxcpus=1".
2. Forcing the cansequence processes to CPU0 with "taskset" command.
My question to you is if anyone has tested the SJA1000 driver on an SMP
system or anything similar.
--
Med Vänliga Hälsningar / Best Regards
Mirza
*******************************************************************
Mirza Krak
Host Mobility AB
mirza.krak@hostmobility.com
Anders Personsgatan 12, 416 64 Göteborg
Sweden
www.hostmobility.com <http://www.hostmobility.com>
Direct: +46 31 31 32 704
Phone: +46 31 31 32 700
Fax: +46 31 80 67 51
Mobile: +46 730 28 06 22
*******************************************************************
next reply other threads:[~2013-06-13 12:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-13 12:47 Mirza Krak [this message]
2013-06-16 9:20 ` Dual SJA1000 can controllers on SMP system Wolfgang Grandegger
-- strict thread matches above, loose matches on Subject: below --
2013-06-16 11:20 mirza
2013-06-16 12:39 ` Wolfgang Grandegger
2013-06-17 6:10 ` Mirza Krak
2013-06-17 7:18 ` Marc Kleine-Budde
2013-06-17 13:46 ` Mirza Krak
2013-06-17 14:12 ` Marc Kleine-Budde
2013-06-17 18:49 ` Mirza Krak
2013-06-17 19:34 ` 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=51B9BF61.8050905@hostmobility.com \
--to=mirza.krak@hostmobility.com \
--cc=linux-can@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 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).