From: "Luis Claudio R. Goncalves" <lclaudio@uudg.org>
To: "Leggo, Adam (UK)" <Adam.Leggo2@baesystems.com>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: Converting a device driver for real time kernel
Date: Tue, 9 Feb 2010 10:26:49 -0200 [thread overview]
Message-ID: <20100209122649.GK2540@uudg.org> (raw)
In-Reply-To: <B5339992F194184BABF87ECF0296990D02716BA7@GLKMS2105.GREENLNK.NET>
On Tue, Feb 09, 2010 at 09:32:30AM -0000, Leggo, Adam (UK) wrote:
| Hello,
|
| What is the best way of converting an existing device driver to work
| under a real-time kernel?
|
| A device driver provided for a special serial card (Curtiss Wright SL240
| sFDFP card http://www.cwcembedded.com/products/0/1/461.html) works under
| vanilla Linux (SLES SP10 SP2 kernel 2.6.16.60-0.21-smp), but compiling
| the driver under the real time kernel (2.6.22.19-0.14-rt) the system
| locks up and crashes. The rt kernel is being used to write large amounts
| of data from the serial card to disk and testing has found the rt kernel
| has the best consistent write performance.
|
| I have gone back to the supplier and they are not interested in
| developing a real time version of the driver. So I am trying to modify
| the driver myself. The driver code can be provided if anyone wants a
| look (released under GPLv2).
The oops or panic messages issued when the kernel locks up are a good
starting point to find the underlying issue.
Due to the nature of PREEMPT_RT subtle concurrency problems on the driver,
that may take a lifetime to appear under upstream Linux, will show up every
now and then on RT.
I would also put my bets on locking. As regular spinlocks are converted to
rtmutexes and can therefore sleep, I would check locking on the driver and
eventually convert some of the locks to old-style spinlocks. The naming on
the non-sleeping locks varies according to the version of the PREEMPT_RT
patch in use.
Luis
--
[ Luis Claudio R. Goncalves Bass - Gospel - RT ]
[ Fingerprint: 4FDD B8C4 3C59 34BD 8BE9 2696 7203 D980 A448 C8F8 ]
next prev parent reply other threads:[~2010-02-09 12:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-09 9:32 Converting a device driver for real time kernel Leggo, Adam (UK)
2010-02-09 9:50 ` Sven-Thorsten Dietrich
2010-02-09 11:24 ` Carsten Emde
2010-02-09 12:26 ` Luis Claudio R. Goncalves [this message]
2010-02-09 22:27 ` Thomas Gleixner
2010-02-10 12:51 ` Converting a device driver for real time kernel - OT Armin Steinhoff
2010-02-10 12:53 ` Armin Steinhoff
2010-02-10 13:05 ` uio_pci_generic not working ? Armin Steinhoff
2010-02-11 8:20 ` Armin Steinhoff
2010-02-11 10:57 ` Converting a device driver for real time kernel Leggo, Adam (UK)
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=20100209122649.GK2540@uudg.org \
--to=lclaudio@uudg.org \
--cc=Adam.Leggo2@baesystems.com \
--cc=linux-rt-users@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).