Nicolai Hanssing ([EMAIL PROTECTED]) wrote:
> I'm resendign some fo my earlier questions, that haven't been answered yet.
> I'll appreciate any insight:
> 
> > * Is operations on the fifos "atomic"?
> > Both in userspace and in the rtkernel?
> By atomic, I mean non-divideble - i.e. You put something of size 30B in
> RTFx from userspace, and when the handler get woken theres 30B in the RTFx.

Kernel rtf_put and user-space write are atomic in this sense.
rtf_get or a user-space read may return with less data than requested
if there's not enough data in the FIFO.

> > * What is the max size of an fifo-queue?
> > And unless it fails on initialisation there was enough
> > kernelmemory - right?

There's no explicit limit. Essentially, you're limited by the amount of
available physical RAM.

> > * Are there an "RTL_SSIZEMAX" for operations on the rtl_fifos?
> Not answered

No limit.

> > Next up is a problem with a simpel POSIX_thread:
> >
> > For some reason my thread keep chrashing the system [both in
> > 2.2.18-rtlv3.0 and 2.2.19-rtlv3.1pre3]. I've been looking over the code
> > throughly, and it seems allright. There's no dynamic memoryallocation, and
> > only some simple IO to hardcoded adresses. I.e. it shouldnt chrash due to
> > pointer-error or memory-leaks.
> > However the thread uses some quite large local variables, that according
> to my
> > own memmory local variables are allocated on the stack (?).
> 
> It was the stack thatwas too small, got it right by allocating a lage static
> array, and
> setting the stacksize and pointer basd on the example "recursive.c"
> 
> I actually think there should be a note about this in the man-pages [and
> FAQ], the default
> stacksize is "only" 20kB pr. thread, and you get no warning of course....
> Let me know if I shold write it up myself.

I'll add a note, thanks.

> > How can I tell if the stack runs out [has run out - overwrite kernelspace
> > - whatever], and how can I increase the size
> > dynammicly?
> 
> This I still dont know.....

In the current version, there's no such mechanizm. This could be solved
by allocating an unmapped page right above the RTLinux thread structure
on the stack. Patches are welcome..

Michael..

----- End of forwarded message from [EMAIL PROTECTED] -----
-- [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/

Reply via email to