[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rtl] Memory allocation



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
> 
> eek105@psu.edu 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
>                karym@opersys.com
>           Operating System Consultant
>  (Linux kernel, real-time and distributed systems)
> ===================================================