All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@domain.hid>
To: Sebastian Smolorz <ssm@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] your pending RT-Socket-CAN problems (was rtcan driver. rtcan_sja_interrupt made interruptible)
Date: Mon, 12 Mar 2007 10:19:14 +0100	[thread overview]
Message-ID: <45F51B12.9050401@domain.hid> (raw)
In-Reply-To: <E1HQfsj-00025n-6a@domain.hid>

Sebastian Smolorz wrote:
> Wolfgang Grandegger wrote:
>> Access to the parallel port is slow, indeed. Looking to
>> rtcan_peak_dng_epp_readreg tells me, that 6 inb/outb are required to
>> read one register and if every inb/outb takes up 1-2 us ... puh ... the
>> problem gets obvious. Nevertheless, this problem is special for the PCAN
>> dongle and it seems to be a bad choice for RT-Socket-CAN. All other
>> devices can read/write registers much faster. I'm going to do some more
>> tests next week, also with other CAN hardware. Sebastian, have you
>> realized similar latency problems with SJA1000 on the ISA bus (which is
>> slow as well)?
> 
> No, I didn't realize any latency problems with the ISA CAN controller. 
> However, I didn't made any discrete latency measure tests. But the fact that 
> the SJA1000 driver is used on all robots of the RTS with 1 MB/s laser 
> scanners and a few more CAN nodes shows me that the latency impact is not 
> critical.

OK, I did'nt expected that reading approx. 15 bytes is really critical. 
But the problem exists and reading these from the ISA bus likely also 
takes 10..20 us.

>>> Sebastian's opinion is that making it interruptible would be "the
>>> start of chaos". I am sure he knows more about this than I ever will
>>> but only out of academic interest before I sort this problem out
>>> outside the realm of rtcan, I would like to know why.
>> As I see it, the right solution would be to handle the CAN interrupts by
>> a service task and disabled the corresponding IRQ till it's handled. I
>> do not see a real problem with this method,
> 
> I didn't say it's impossible. My point was that making the CAN ISR just 
> interruptible with no other changes is not enough.
> 
>> but it requires substantial 
>> implementation effort.
> 
> Right, and for users who don't have such hardware limits like Roland it is 
> probably more important that CAN interrupts are processed with no deferral. 
> So we would have to deal with both needs. Therefore my statement in a 
> previous mail that all the necessary work won't be done in five minutes.

Well, I know but it already got a rather high position on the wish list.

Wolfgang,





      reply	other threads:[~2007-03-12  9:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-10 13:55 [Xenomai-help] rtcan driver. rtcan_sja_interrupt made interruptible Roland Tollenaar
2007-03-10 16:34 ` [Xenomai-help] your pending RT-Socket-CAN problems (was rtcan driver. rtcan_sja_interrupt made interruptible) Wolfgang Grandegger
     [not found]   ` <bc4264770703110035g6625e8a1t4f195507d72aaf66@domain.hid>
2007-03-11  9:34     ` Wolfgang Grandegger
2007-03-11 11:02       ` roland Tollenaar
2007-03-11 12:03         ` Wolfgang Grandegger
2007-03-11 12:26           ` roland Tollenaar
2007-03-11 21:16           ` Jan Kiszka
2007-03-12 18:17             ` roland Tollenaar
2007-03-12 20:01               ` Wolfgang Grandegger
2007-03-12 20:28                 ` [Xenomai-help] RT samples karre
2007-03-12  8:27       ` [Xenomai-help] your pending RT-Socket-CAN problems (was rtcan driver. rtcan_sja_interrupt made interruptible) Sebastian Smolorz
2007-03-12  9:19         ` Wolfgang Grandegger [this message]

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=45F51B12.9050401@domain.hid \
    --to=wg@domain.hid \
    --cc=ssm@domain.hid \
    --cc=xenomai@xenomai.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.