home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds
- From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
- Newsgroups: comp.os.linux
- Subject: Re: 0.97 patchlevel 5 available
- Message-ID: <1992Sep13.085901.16695@klaava.Helsinki.FI>
- Date: 13 Sep 92 08:59:01 GMT
- References: <1992Sep12.182131.2168@klaava.Helsinki.FI> <1992Sep12.214957.620@cambria.columbus.oh.us>
- Organization: University of Helsinki
- Lines: 52
-
- In article <1992Sep12.214957.620@cambria.columbus.oh.us> bjones@cambria.columbus.oh.us (Bill Jones) writes:
- >
- >Well I rushed out and got 0.97.5, compiled it and installed it. All of a
- >sudden I began to get HD timeout errors (something I haven't seen since
- >0.12). Switched back to 0.97.4 and they all went away!?
-
- Argghh. It's probably the outb_p() changes - that is the only thing in
- the HD driver that changed. Look into linux/kernel/blk_drv/hd.c - if
- you get pl5 by getting the full source, it doesn't define REALLY_SLOW_IO
- any more, as I hoped it would be unnecessary. It looks like
-
- #undef REALLY_SLOW_IO
- #include <asm/system.h>
- #include <asm/io.h>
- #include <asm/segment.h>
-
- and you should probably change the "undef" to "define". I'll change it
- back for the next version - it seems the REALLY_SLOW_IO define is still
- needed on some machines.
-
- If the above doesn't help (it should), you might also take a look at the
- actual delay instruction used to slow down IO. This can be found in
- linux/include/asm/io.h, and looks something like this:
-
- #ifdef SLOW_IO_BY_JUMPING
- #define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:")
- #else
- #define __SLOW_DOWN_IO __asm__ __volatile__("inb $0x80,%%al":::"ax")
- #endif
-
- #ifdef REALLY_SLOW_IO
- #define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; }
- #else
- #define SLOW_DOWN_IO __SLOW_DOWN_IO
- #endif
-
- You might change the default slow-down instruction from
-
- __asm__ __volatile__("inb $0x80,%%al":::"ax")
-
- to
-
- __asm__ __volatile__("outb %al,$0x80")
-
- Whatever you do, I'd be very interested to hear what you did, and if it
- worked, so that I can get it fixed for the next version.
-
- Also, there seems to be some problem with the extended fs patches:
- either Remy's patches or the changes I made to the inode setup. So pl5
- still seems to have some irritating bugs. I'll try to find it.
-
- Linus
-