To: | |
---|---|
Subject: | Re: [ts-7000] Avoiding task preemption by Linux kernel |
From: | David Smead <> |
Date: | Sat, 13 Aug 2011 01:23:00 -0700 |
I don't know whether this will help on Linux or not, but this is what I do on another real time system with preemptive scheduling. First, there are multiple devices using the SPI bus, and the ADC must be able to deliver X readings per second, where other devices aren't as critical. All SPI requests go into a priority list and the ADC is given top priority.
The other requirement is not to interrupt an SPI transaction that is in progress. The SPI device has a hardware queue that is 16 deep, (bytes or words, depending on dynamic configuration). So that's the maximum 'bunch' size any device can use at one time.
If any device needs more than 16, then it has to be parceled before requesting an SPI operation. That also prevents a device from hogging the SPI port, which would force a higher priority task, (ADC) to wait. SPI bit rates are 2-25 MHz, so the SPI driver doesn't rest a lot.
On Fri, Aug 12, 2011 at 4:32 PM, Clark Dunson <> wrote:
__._,_.___
Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required) Change settings via email: =Email Delivery: Digest | m("yahoogroups.com?subject","ts-7000-fullfeatured");=Change Delivery Format: Fully Featured">Switch to Fully Featured Visit Your Group | Yahoo! Groups Terms of Use | =Unsubscribe __,_._,___ |
<Prev in Thread] | Current Thread | [Next in Thread> |
---|---|---|
|
Previous by Date: | Re: [ts-7000] Avoiding task preemption by Linux kernel, Clark Dunson |
---|---|
Next by Date: | [ts-7000] simple question, jeffwebbuk1 |
Previous by Thread: | Re: [ts-7000] Avoiding task preemption by Linux kernel, Clark Dunson |
Next by Thread: | Re: [ts-7000] Avoiding task preemption by Linux kernel, mike ingle |
Indexes: | [Date] [Thread] [Top] [All Lists] |
Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU