View Single Post
  #16   Spotlight this post!  
Unread 22-03-2010, 22:43
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,751
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: periodic tasks in autonomous independent

For simplicity, the LV queue has been described generically as a Queue. In reality, it is implemented as a priority Q. OS threads are lazily allocated to service the head of each priority in use -- by default a few threads per CPU core per priority in use. This means that if tasks at different priorities become available, the OS scheduler is aware of the requests and will schedule accordingly.

Not being on the VxWorks RT team, I can't say exactly how the threads were created or how the Queue is implemented for the OS. I can't say exactly how VxWorks is expected to behave in the case of competing priorities, inversions, etc. So, I'm being vague about the implementations I don't know in great detail. If I had a cRIO available, I could write tests that measure the response, however.

Greg McKaskle
Reply With Quote