Subject: Re: cdrom

From: Thomas Bogendoerfer <[email-masked]>
Date: Tue, 1 Sep 1998 00:19:11 +0200

On Mon, Aug 31, 1998 at 06:56:10PM +0200, Ulf Carlsson wrote:
> Hi,
> Has someone managed to mount a CD yet?

my Indy doesn't have a CDrom drive. But it works on my M700. So it's
probably related to the scsi low level driver. Ralf mentioned some
problems with DAT, but that could also be a generic problem.

> scsi: aborting command due to timeout : pid 665, scsi0, channel 0, id4,
> lun 0 Test Unit Ready 00 00 00 00 00

and CDrom drive works with IRIX ?

Thomas.

-- 
See, you not only have to be a good coder to create a system like Linux,
you have to be a sneaky bastard too ;-)
                   [Linus Torvalds in <[email-masked]>]

---

From: [email-masked]
Date: Tue, 1 Sep 1998 01:26:26 +0200

> problems with DAT, but that could also be a generic problem.

DAT and a couple more of the wd33c93 driver options available via the
kernel command line.  I wouldn't wonder if a CDROM or second disk results
in the same sick effects.

Somebody recently offered to take a look on driver issues, any success
yet?

  Ralf

---

From: [email-masked]
Date: Tue, 1 Sep 1998 16:55:05 +0200

> and CDrom drive works with IRIX ?

The problems seems to be associated with either sync SCSI or disconnect/
reconnect.  I did a two line modification to sgiwd93.c which disables
sync and disconnect/reconnect.  I now have since about a hour running:

  dd if=/dev/sda of=/dev/zero &
  dd if=/dev/sdb of=/dev/zero &
  dd if=/dev/sdc of=/dev/zero &
  find / /ext -xdev | cpio -o -H crc -F /dev/nst0 --verbose

No problem so far.  (Except that SCSI performance even with only single
disk activity is further converging to zero ...)

  Ralf

---

From: Ulf Carlsson <[email-masked]>
Date: Tue, 1 Sep 1998 19:50:46 +0200 (CEST)

> disk activity is further converging to zero ...)

I tried to implement your ideas, I disabled sync, I don't know how you
disable disconnect/reconnect. Anyway, I don't think that's the problem.
The problem is the sigsegv in mount the oops causes, do we have something
like a 'half' mounted device?

Unable to handle kernel paging request at virtual address 00000000, epc ==
88021bcc, ra == 8809414
Oops: 0000
...
epc   : 88021bcc
Status: 3004fc02
Cause : 00000008
Segmentation fault

I get those other messages ...

scsi: aborting command due to timeout ...

...  when I try to access the directory where I mounted the CDROM drive.
Do you think my SC hack is causing this mess?

- Ulf

---

From: Alex deVries <[email-masked]>
Date: Tue, 1 Sep 1998 14:05:23 -0400 (EDT)

Not to be a whiner, but I've *always* had a problem with accessing more
than one SCSI device at a time, both with a CDROM and a hard disk.

- Alex

-- 
Alex deVries, puffin on LinuxNet.
http://www.engsoc.carleton.ca/~adevries/ .

On Tue, 1 Sep 1998, Ulf Carlsson wrote:

> Date: Tue, 1 Sep 1998 19:50:46 +0200 (CEST)
> From: Ulf Carlsson <[email-masked]>
> To: [email-masked]
> Cc: Thomas Bogendoerfer <[email-masked]>,
>     [email-masked]
> Subject: Re: cdrom
>

---

From: Alex deVries <[email-masked]>
Date: Tue, 1 Sep 1998 15:19:31 -0400 (EDT)

> sync and disconnect/reconnect.  I now have since about a hour running:

Could you upload those patches to the cvs?

- Alex

---

From: [email-masked]
Date: Tue, 1 Sep 1998 23:56:54 +0200

> Could you upload those patches to the cvs?

Toxic waste like that hack doesn't belong into a CVS archive.

  Ralf

---

From: [email-masked]
Date: Wed, 2 Sep 1998 00:08:40 +0200

> like a 'half' mounted device?

The mount operation is assumed to be atomic.  If it's not you're in deep
trouble.

> I get those other messages ...

As I recently told you on IRC - the patch as you've posted it is not
correct.  It will misstreat VCEI exceptions.

> Do you think my SC hack is causing this mess?

Not the timeouts, they're a genuine wd driver bug.

  Ralf

---

From: Ulf Carlsson <[email-masked]>
Date: Wed, 2 Sep 1998 17:58:15 +0200 (CEST)

> correct.  It will misstreat VCEI exceptions.

My idea is based on that we write the wrong cache line back, and that's
why we receive the invalid instruction errors. 

Maybe this is foolish, but anyway: If we have data from main memory cached
in the secondary cache and then overwrite that data line in main memory
with an instruction line and cache the instruction. We receive a VCEI when
we try to access the cached line, and our handler writes the data back
instead of the intstruction and causes the invalid instructions. Well,
this is the only idea I have at the moment.

- Ulf

---

From: [email-masked]
Date: Wed, 9 Sep 1998 14:42:40 +0200

> this is the only idea I have at the moment.

Note that we don't have to care about if the line contains data or
instructions.  All we know is that the l2 line corrosponding to the
instruction which threw the vcei exception is in some state other than
invalid.  We cannot accidently writeback an instruction line to memory
because the Hit_Writeback_Inv_SD cacheop we're using will only write
dirty lines back.

  Ralf