Mark,

Am 26.04.2013 um 11:38 schrieb Mark Wendt <wendt.m...@gmail.com>:

> On Fri, Apr 26, 2013 at 1:47 AM, Michael Haberler <mai...@mah.priv.at>wrote:
> 
>> Ken,
>> 
>> Am 25.04.2013 um 01:11 schrieb Kenneth Lerman <kenneth.ler...@se-ltd.com>:
>> 
>> I'm only addressing this question here:
>> 
>> 
>> Just noting that the work on RTAPI/HAL has brought with it two
>> capabilities which relate to the theme; most of this has been discussed and
>> done off-list, but since the them comes up I respond to it even if it isnt
>> completely done yet:
>> 
>> first, RTAPI is now multi-instance capable (several RTAPI instances on
>> _one_ machine); instances being identified by an integer id (NB this doesnt
>> make NML multi-instance but I hope NML will be history this year in this
>> branch so I dont bother anymore)
>> 
> 
> 
> Michael,
> 
> Just being curious, how does the multi-instance RTAI keep from banging
> heads with each other?  Lets say we have two instances of RTAI running, how
> does RTAI keep itself from requiring the same resource as another RTAI

This multi-instance capability is independent of any specific RTOS and works 
with all flavors (RTAI, Xenomai any style, RT-PREEMPT) even across flavors; you 
can have a Xenomai kernel, a few Xenomai user RT instances and a few Posix 
instances running simultaneously without things going haywire. Not that that 
makes any sense, I just mention this works too.

> instance at the same time,

"resources" really translates into threads and shared memory

shared memory is an easy case because all shm is allocated at setup time; there 
is no runtime memory allocation in RTAPI land even if it might be supported as 
per API description, and it is fact an unnecessary use of a non-portable OS 
API, which is why I have removed this and replaced by standard Posix shm and a 
single helper driver for kernel threads just fine, with lots of RTOS-dependent 
code becoming history in one go.

all that was needed to coordinate shared memory is clean up the hodge-podge 
allocation of shared memory keys here and there, and make an instance id part 
of the key

as for threads, that is quite easy to disambiguate as well


> and still maintain the real-time domain of
> having the resource "NOW", when it's needed?

there is no 'NOW' allocation in allow of LinuxCNC, provided you mean 'NOW' to 
mean either task or shm allocation 'within a time critical thread'. It is all 
preallocated before the game starts, and _outside_ of any RT threads, so any 
fears for collision may be safely put to rest. That case simply doesnt exist, 
and I cant conceive one were it suddenly might be needed.

- Michael


> 
> Mark
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service 
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to