[EMAIL PROTECTED] wrote:
>
> What this error message does mean?
I have looked at the file 'kernel_patch' in RTL. On line 994 is the
printk for this message: 'RTL is astonished to announce out of fake
regs'
>
> RTL is astonished to announce out of fake regs
> [blahblahblah]
> ...
> [crash]
>
> Background info
> A 5 ms periodical task every time called [unintentionally]
> rtl_printf("write_chars() %d"...); on a 100 MHz 486DX4.
>
> Yes, I can imagine, that this can freeze the host.
> I guess rtl_printf lasted more than 5 msec and scheduler had to
> do something. But what happens in this case exactly?
> I wonder what are the fake regs?
>
This occurs in the interrupt intercept function in RTL 2.2. There is an
array of 200 for storing 200 contexts of the CPU. Each time an
interrupt occurs the context of the CPU (all of its registers) are saved
into one line of this array. So, if more than 200 Linux or RTL
interrupts happen before any of them are serviced, RTL will run out of
space to store any more registers (fake regs).
If 200 interrupts are happening before any of them is completely
serviced by your code or Linux, then this is a strong indication that at
least one of your tasks takes longer to complete in your RTL interval
than you have allowed. This is causing the Linux interrupts to pile up,
because your task is taking all of the CPU time. So if the host is
freezing as well then this is probably what is happening.
If the Linux interrupts are few and far between, then it may be that
your own code is allowing your own interrupts to pile up, by taking too
long to finish before the next interrupt occurs.
I suppose a more meaningful error message maybe to display the interrupt
source (IRQ number) that is not being serviced fast enough, indicate
whether it is a Linux or RTL handler attached to this interrupt, and the
pid.
- Kal.
> Gabor
> -- [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/
-- [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/