[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [rtl] malloc, timers, and crashes.
On Fri, 7 Dec 2001, Dresner, Norman A. wrote:
> You CAN NOT use any normal Linux system calls from RT software.
I don't mean to be picky--(erm.. ok I mean to be picky) I just want to
clarify some teminology: Something like kmalloc, which is a function
internal to the linux kernel is something quite different from a system
call. A system call has a very specific meaning, and kernel-space
functions do not fall under that category at all.. :)
-Calin
>
> If you can't pre-allocate it, you'll have to create a pool.
>
>
> Norm
>
>
> -----Original Message-----
> From: Ken Emmons, Jr. [mailto:KEN@qatech.com]
> Sent: Thursday, December 06, 2001 3:54 PM
> To: rtl@fsmlabs.com
> Subject: [rtl] malloc, timers, and crashes.
>
>
> Hello,
>
> I am trying to create a doubly linked list in order to keep track of timers
> on my system. It is similar to the way they do it in the Linux kernel, but
> obviously much faster polling for RT purposes. Certain function calls in my
> API will allocate memory for a structure and then call a function to isert
> this structure intot he list. I tried using:
>
> my_struct_t my_struct;
> my_struct = kmalloc( sizeof(my_struct_t), GFP_ATOMIC);
>
> within a periodic RT task and it appears to crash my machine.
>
> Is this supposed to work in RTLinux?? If not how do I get free memory?? Do I
> have to set aside a free block of ram and create my own memory allocation
> algorithms?? Does RTLinux have a preferred mechanism?
>
> Thanks,
>
> ~Ken
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail majordomo@rtlinux.org OR
> echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.org
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail majordomo@rtlinux.org OR
> echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.org
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
>