I got sometime similar thing when I errorously used
save_flags(), cli() and restore_flags()
in RT task instead of r_save_flags(), r_cli() and r_restore_flags
Andris
On Mon, 5 Jul 1999, Gerasimov Victor wrote:
> My experience in RTLinux is two stations i586 on kernel 2.0.35 and RTL release9H.
> Selfmade kernel from Slackware 3.5.
> Both computers is furnished by IDE disk. And both stations are generate messages
> with "status=0xd0 { Busy }". After your letter I think that such a message I can
>easily simulate
> on any RTL computer.
>
> My RTL-driver generates POCSAG messages to pager system. So, it operates shortly
>(50-150 usec) every 1-2 msec. Data for driver are generated by application program.
>No floating point is used there.
>
> My late experimet shows the following:
>
> - SCSI disk does not produce such a message. ( Message is generated by Linux driver
>ide.c );
>
> - There is so called "state of bad operations on IDE".
> If, after reload, driver is active but does not perform any data exchange with
>application program, Your test routine operates normally at least some hours. But if
>there are any parallel operations on IDE and between driver and application -
>messages are start to be generated. This generation continues even if the application
> terminates. After several dosens of messages sync usually hangs up, but everything
>else operates properlly.
>
> - Hacking ide.c with a goal to remove the reset of IDE interface after error has no
>effect -
> operations are executed normally, but sync hangs up with the same probability.
> So, "Busy status" is an additional interrupt during normal IDE disk operation;
>
> - Once a two-week period my Linux may hang up too.
> Sometimes I can see a lot of sendmail tasks that can't be killed. After it during
>reboot command it hangs up on "Unmounting file systems" and after it nothing
>excluding the "good pinging from net" and "pressing reset botton" is possible to do.
>Is this the issue of "Busy messages + resets" or not - I don't know.
>
> Regards, Gerasimov Victor.
>
>
>
> --------- ORIGINAL MESSAGE --------------
>
> To: "'RT-Linux'" <[EMAIL PROTECTED]>
> Subject: [rtl] kernel: hda: read_intr: status=0xd0 { Busy } crashing sync.
> From: "Steve Higgins" <[EMAIL PROTECTED]>
> Date: Thu, 3 Jun 1999 12:26:35 +0100
>
> I'm experimenting with the kernel 2.0.RTL1.1 on a i486 using o/s tools from
> the Red Hat 5.2 CDROM.
>
> (I actually downloaded the full RTL kernel source distribution rather than trying to
> get the patches working).
>
> I made progres and now have a card generating interrupts every 20ms. My RTlinux
> device driver intercepts the interrupt and services it taking about 1.5 ms to do this
> (worst case recorded about 3 ms).
>
> I then thought I put some load on the main Linux system to see how stable
> the system is with my driver.
>
> I wrote a script which basically loops doing the following.
>
> while 1:
> cp test.dat test2.dat
> sync
> rm test2.dat
> sync
>
> To hammer the disk.
>
> This started to occasionally produce the following message
> kernel: hda: read_intr: status=0xd0 { Busy }.
>
> However what is more worrying is that very occasionally the script hangs.
> when I run a 'ps' command the hang always happens on a 'sync' command.
> and the sync cannot be killed - even by a 'kill -9'
>
> Has anyone any ideas as to why this is happenning?
>
> Does anyone have any suggestions?
>
> In my background reading I came across someone commenting about possible
> problems in using floating point instructions in interrupt routines.
>
> Could someone explain this in any more detail.
>
> Regards Steve
>
> --- [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/