I've done the porting to RTL 3.0 of the RTAI Dynamic Memory Manager 
(rt_mem_mgr) distributed with RTAI-1.5.

It works for me, but I'd like that some RTL experts verify that all is Ok.

Here is a list of main changes for the porting:
---------------------------------------------------------------------------------
flags = rt_spin_lock_irqsave(&rt_mem_lock);                             // RTAI
rtl_spin_lock_irqsave(&rtl_dmm_lock, flags);                            // RTL3.0
---------------------------------------------------------------------------------
rt_spin_unlock_irqrestore(flags, &rt_mem_lock);                         // RTAI
rtl_spin_unlock_irqrestore(&rtl_dmm_lock, flags);                       // RTL3.0
---------------------------------------------------------------------------------
alloc_sysrq.srq = rt_request_srq(0, rt_alloc_sysrq_handler, 0)          // RTAI
alloc_sysrq.srq = rtl_get_soft_irq (rtl_alloc_sysrq_handler, "rtl_dmm") // RTL3.0
---------------------------------------------------------------------------------
rt_pend_linux_srq(alloc_sysrq.srq);                                     // RTAI
rtl_global_pend_irq(alloc_sysrq.srq);                                   // RTL3.0
---------------------------------------------------------------------------------
void rt_alloc_sysrq_handler(void)                                       // RTAI
void rtl_alloc_sysrq_handler(int irq, void *dev_id, struct pt_regs *p)  // RTL3.0
---------------------------------------------------------------------------------
kmalloc(granularity, GFP_KERNEL)                                        // RTAI
kmalloc(granularity, GFP_ATOMIC)                                        // RTL3.0
---------------------------------------------------------------------------------

I can make source public if you give me a FTP server.

Regards,

Joel

Karim Yaghmour wrote:
> 
> You can dynamically allocate memory in real-time using the rt_mem_mgr
> stuff in RTAI.
> 
> Cheers
> 
> Karim
> 
> [EMAIL PROTECTED] wrote:
> >
> > I remember seeing many discussions on the list about memory allocation,
> > but i am failing to find them now.
> >  I remember that you can only do memory allocation in initmodule. Is
> > this right?  I would like to allocate a few
> > kbytes either in a fifo handler or a real time thread.  Is this ok?
> > eric
> >
> 
> ===================================================
>                  Karim Yaghmour
>                [EMAIL PROTECTED]
>           Operating System Consultant
>  (Linux kernel, real-time and distributed systems)
> ===================================================
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to