It appears that I cannot page when running my rt code.  RTLinux is version
3.0

I have a statically defined buffer that is partitioned into n+2 buffers, each
2048 bytes long and a function that fills these buffers with multiple
blocks of "event" data.  The function writes arbitrary length event data and
I allow the function to overrun a buffer boundary.  The calling function
actually catches the overrun and translates (shifts) the "last" event into
the next buffer so that the completed buffer does not contain partial event
data.

The system does an oops when the function overflows from buffer 1 (first
buffer is buffer 0) into buffer 2.  At times it's worse -- it resets the
computer and goes into the reboot cycle.  If I fix the function so it never
overruns a buffer boundary, then the code runs without any problems.

The n buffers are actually made into a circular buffer queue.  The n+1
buffer is used for the overflow of buffer n, and the n+2 buffer is the
temporary buffer which I use to translate an event data block that has
overrun a buffer boundary.  I've checked that with my modified function
(that does not overrun a buffer boundary), that the buffers "circulate"
without any problems.

My inference is that my logically contiguous buffer that is partitioned into
n+2 buffers is not really physically contiguous and that when my function
overflows buffer 1, ie, crosses a page boundary, the system does a hard
crash.  I have the same behaviour with the mbuff device.  The function is
called by a thread that is dispatched by an interrupt handler.

Can anyone shed light on this?

The oops message repeats, but I don't know how to read an oops and I've seen
2 varieties of oops messages - one says kernel cannot deference NULL virtual
pointer, process is init, the second variety says something about trying to
kill an interrupt handler, aiee killing idle task.  I'm not sure I believe
either one.

Ken

-- [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