Re: IBM-DJNA drives on FreeBSD

1999-07-05 Thread Soren Schmidt

It seems Peter Wemm wrote:
> > Well, CAM & ATAPI is "fairly" easy, the only problem being all the
> > little details that are different enough to make it non-trivial to
> > maintain. I once sat down and tried to get all the details on how
> > the CCB's where different, and decided that I wouldn't want to engage
> > in that. 
> > Another story is ATA disks, there you either have to teach CAM about
> > a new lowlevel protocol, or write a SCSI<>ATA translator, which I
> > also decided I didn't want to do...
> 
> Well, that's assuming you use scsi ccb's...  you could use atapi ccb's.
> We have cam/* which is the generic transport handler.  cam/scsi/* which
> is the scsi peripheral drivers that use scsi ccbs, and then we could
> have cam/ata/* which uses atapi ccb's and ata disk info.  Then you have
> cam/ata/ata_ad.c, cam/ata/atapi_cd.c etc.  Your backend ata controller code
> then gets requests sent to it in atapi format and/or something suitable for
> ata disks.
> 
> This approach is quite efficient and you get to use the common queueing, error
> recovery, etc etc stuff.  You don't have to do ccb translation or anything.
> You get your own disk, tape, cd etc driver with their own names and major
> numbers.  They would look *very* similar to the scsi counterparts but would
> be seperate as they use different ccbs, different backend-specific hooks, etc.

Uhm, yes, agreed, but it defies some of the gains (ie common highlevel drivers)
but would probably keep the performance of the current approach. It would
make life a wee bit less complicated, but one would still have to do all
the lowlevel code to deal with queing etc, but the higherlevel stuff
could probably be shared, maybe CAM would have to be modified a bit
but it should be possible...

> Things like umass, vpo etc have it easy since they basically bulk send the
> scsi ccb's to the device as they use the scsi protocol directly.  The ATAPI
> protocol is similar but would require translation if it used the common top
> end drivers.  So, it either requires different top end drivers or has to do
> translation.

So its basically a choice between added complexity or added complexity :)

When I get all the lowlevel stuff done (this has to be done no matter
what approach is chosen) I'll take a look at it again, but if anybody
feels like doing anything about it, let me know, so we can get things
coordinated

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-05 Thread Peter Wemm

Soren Schmidt wrote:
> It seems Nick Hibma wrote:
> >  > > I should have said "known bad configuration". I know Søren's ATA
> >  > > driver supports UDMA on the Aladdin, but I don't have the luxury of
> >  > > expendable file systems, so I don't use it. I also think it's the
> >  > > wrong direction to go off in; if we're going to totally rewrite our
> >  > > IDE driver, we should do it within the CAM framework.
> >  > 
> >  > Do I hear a volounteer here ??
> >  > What the new ATA/ATAPI driver is all about is mostly a rewrite of all 
> >  > the low level code, and that is still needed if you want to go the CAM w
ay.
> >  > The higher levels of the new ATA driver is simply a port of my allready
> >  > done ATAPI drivers.
> >  > There is nothing in the way of screwing a CAM interface ontop of that
> >  > lowlevel code instead of/in parallel to the current highlvel code
> > 
> > Yes yes yes! CAM on top of ATAPI. If we keep the command
> > creation/conversion layer in CAM and make CCB come out at the lower end,
> > we could instantly screw it on top of the USB Mass Storage driver (that
> > supports SCSI through CAM at the moment).
> > 
> 
> Well, CAM & ATAPI is "fairly" easy, the only problem being all the
> little details that are different enough to make it non-trivial to
> maintain. I once sat down and tried to get all the details on how
> the CCB's where different, and decided that I wouldn't want to engage
> in that. 
> Another story is ATA disks, there you either have to teach CAM about
> a new lowlevel protocol, or write a SCSI<>ATA translator, which I
> also decided I didn't want to do...

Well, that's assuming you use scsi ccb's...  you could use atapi ccb's.
We have cam/* which is the generic transport handler.  cam/scsi/* which
is the scsi peripheral drivers that use scsi ccbs, and then we could
have cam/ata/* which uses atapi ccb's and ata disk info.  Then you have
cam/ata/ata_ad.c, cam/ata/atapi_cd.c etc.  Your backend ata controller code
then gets requests sent to it in atapi format and/or something suitable for
ata disks.

This approach is quite efficient and you get to use the common queueing, error
recovery, etc etc stuff.  You don't have to do ccb translation or anything.
You get your own disk, tape, cd etc driver with their own names and major
numbers.  They would look *very* similar to the scsi counterparts but would
be seperate as they use different ccbs, different backend-specific hooks, etc.

Things like umass, vpo etc have it easy since they basically bulk send the
scsi ccb's to the device as they use the scsi protocol directly.  The ATAPI
protocol is similar but would require translation if it used the common top
end drivers.  So, it either requires different top end drivers or has to do
translation.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-05 Thread Soren Schmidt

It seems Nick Hibma wrote:
>  > > I should have said "known bad configuration". I know Søren's ATA
>  > > driver supports UDMA on the Aladdin, but I don't have the luxury of
>  > > expendable file systems, so I don't use it. I also think it's the
>  > > wrong direction to go off in; if we're going to totally rewrite our
>  > > IDE driver, we should do it within the CAM framework.
>  > 
>  > Do I hear a volounteer here ??
>  > What the new ATA/ATAPI driver is all about is mostly a rewrite of all 
>  > the low level code, and that is still needed if you want to go the CAM way.
>  > The higher levels of the new ATA driver is simply a port of my allready
>  > done ATAPI drivers.
>  > There is nothing in the way of screwing a CAM interface ontop of that
>  > lowlevel code instead of/in parallel to the current highlvel code
> 
> Yes yes yes! CAM on top of ATAPI. If we keep the command
> creation/conversion layer in CAM and make CCB come out at the lower end,
> we could instantly screw it on top of the USB Mass Storage driver (that
> supports SCSI through CAM at the moment).
> 

Well, CAM & ATAPI is "fairly" easy, the only problem being all the
little details that are different enough to make it non-trivial to
maintain. I once sat down and tried to get all the details on how
the CCB's where different, and decided that I wouldn't want to engage
in that. 
Another story is ATA disks, there you either have to teach CAM about
a new lowlevel protocol, or write a SCSI<>ATA translator, which I
also decided I didn't want to do...
Having CAM & ATAPI without the ATA part is real clumsy if you ask
me, so
There are also subtle differences in the way errors & timeouts, not
to speak about tagged cmds are handlede by the HW, that probably
requieres changes to the way CAM works, or non-trivial translation
mechanisems, but I havn't looked too deeply into that (yet)..
Besides I can live without the CAM overhead (both speed and size wise).

That all boils down to that if somebody is willing to do the job, I'm sure
we can integrate it into the ATA driver so that both worlds can be
made happy, I just dont have the motivation to do it...

> On a related edge:
> 
> Would it make sense to create a UFI command layer (USB floppies use it,
> don't know what else) on top of CAM? Or am fundamentally wrong in
> assuming that one can stack any command layer on top of CAM and abuse
> it as a layer that provides common services, command queueing, error
> handling?
> 
> It would like this:
> 
> SCSI  UFI_da  ATAPI
>   \| /
>CAM layer
>   |
> USB Mass Storage Driver
>/  |  \
> Bulk  CB CBI

You better ask Justin that...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-05 Thread Nick Hibma

 > > I should have said "known bad configuration". I know Søren's ATA
 > > driver supports UDMA on the Aladdin, but I don't have the luxury of
 > > expendable file systems, so I don't use it. I also think it's the
 > > wrong direction to go off in; if we're going to totally rewrite our
 > > IDE driver, we should do it within the CAM framework.
 > 
 > Do I hear a volounteer here ??
 > What the new ATA/ATAPI driver is all about is mostly a rewrite of all 
 > the low level code, and that is still needed if you want to go the CAM way.
 > The higher levels of the new ATA driver is simply a port of my allready
 > done ATAPI drivers.
 > There is nothing in the way of screwing a CAM interface ontop of that
 > lowlevel code instead of/in parallel to the current highlvel code


Yes yes yes! CAM on top of ATAPI. If we keep the command
creation/conversion layer in CAM and make CCB come out at the lower end,
we could instantly screw it on top of the USB Mass Storage driver (that
supports SCSI through CAM at the moment).


On a related edge:

Would it make sense to create a UFI command layer (USB floppies use it,
don't know what else) on top of CAM? Or am fundamentally wrong in
assuming that one can stack any command layer on top of CAM and abuse
it as a layer that provides common services, command queueing, error
handling?

It would like this:

SCSI  UFI_da  ATAPI
  \| /
   CAM layer
  |
USB Mass Storage Driver
   /  |  \
Bulk  CB CBI

Cheers,

Nick



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-05 Thread Soren Schmidt

It seems Dag-Erling Smorgrav wrote:
> "Brian F. Feldman" <[EMAIL PROTECTED]> writes:
> > On 4 Jul 1999, Dag-Erling Smorgrav wrote:
> > > Depends on your motherboard. Try to just disable UDMA66 first. If that
> > > doesn't help, or if you have a "known bad" chipset (e.g. AcerLabs
> > > Aladdin), disable UDMA completely in the BIOS setup utility.
> > What do you mean, "known bad" ALi?
> 
> I should have said "known bad configuration". I know Søren's ATA
> driver supports UDMA on the Aladdin, but I don't have the luxury of
> expendable file systems, so I don't use it. I also think it's the
> wrong direction to go off in; if we're going to totally rewrite our
> IDE driver, we should do it within the CAM framework.

Do I hear a volounteer here ??
What the new ATA/ATAPI driver is all about is mostly a rewrite of all 
the low level code, and that is still needed if you want to go the CAM way.
The higher levels of the new ATA driver is simply a port of my allready
done ATAPI drivers.
There is nothing in the way of screwing a CAM interface ontop of that
lowlevel code instead of/in parallel to the current highlvel code

Oh and besides that I still have to loose a filesystem to the ATA
driver :)

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-05 Thread Dag-Erling Smorgrav

"Brian F. Feldman" <[EMAIL PROTECTED]> writes:
> On 4 Jul 1999, Dag-Erling Smorgrav wrote:
> > Depends on your motherboard. Try to just disable UDMA66 first. If that
> > doesn't help, or if you have a "known bad" chipset (e.g. AcerLabs
> > Aladdin), disable UDMA completely in the BIOS setup utility.
> What do you mean, "known bad" ALi?

I should have said "known bad configuration". I know Søren's ATA
driver supports UDMA on the Aladdin, but I don't have the luxury of
expendable file systems, so I don't use it. I also think it's the
wrong direction to go off in; if we're going to totally rewrite our
IDE driver, we should do it within the CAM framework.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-04 Thread Richard Tobin

> Depends on your motherboard. Try to just disable UDMA66 first.

Thanks, that's what I did.  It works fine (I'm using a SOYO 5EHM
motherboard with an AMD K6-2/200).  Performance is excellent; bonnie
gives:

  ---Sequential Output ---Sequential Input-- --Random--
  -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
   MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
svax32if  100 10336 95.5 14246 57.3  5733 35.9 11372 95.4 17128 57.0 147.9  3.3

that's 17MB/s for block reads (this varies quite a bit depending on
the physical position on the disk).  Not bad for a disk costing £165
for 13.5GB.  On the other hand the system really grinds to a halt while
the benchmark is running.

Incidentally, I tried bonnie on an MSDOS partition (just because it's at
the outside of the disk) and the result was:

svax32im  100  8940 89.2 12984 76.1   473  2.8  9108 92.1 15584 86.4  76.3 48.8

Note the abysmal rewrite speed!

-- Richard


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-04 Thread Brian F. Feldman

On 4 Jul 1999, Dag-Erling Smorgrav wrote:

> Richard Tobin <[EMAIL PROTECTED]> writes:
> > Is that relevant for 3.2 as well as current?  And by "disabling ultra
> > DMA" did you mean "disabling UDMA66" or "disabling UDMA completely"?
> > (You can permanently disable UDMA66 with a DOS utility available
> > from IBM, and it will then act as a plain UDMA33 drive.)
> 
> Depends on your motherboard. Try to just disable UDMA66 first. If that
> doesn't help, or if you have a "known bad" chipset (e.g. AcerLabs
> Aladdin), disable UDMA completely in the BIOS setup utility.

What do you mean, "known bad" ALi? I've had this mobo since the beginning
of the year or so, and it's given me no trouble. Ultra DMA always worked
right with Soren's ATA drivers. The only problem is that UDMA can't be
disabled in the BIOS, but that's due more to the BIOS brand.

> 
> DES
> -- 
> Dag-Erling Smorgrav - [EMAIL PROTECTED]
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 

 Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
 [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
   http://www.FreeBSD.org/  _ |___/___/___/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-04 Thread Soren Schmidt

It seems Dag-Erling Smorgrav wrote:
> Richard Tobin <[EMAIL PROTECTED]> writes:
> > Is that relevant for 3.2 as well as current?  And by "disabling ultra
> > DMA" did you mean "disabling UDMA66" or "disabling UDMA completely"?
> > (You can permanently disable UDMA66 with a DOS utility available
> > from IBM, and it will then act as a plain UDMA33 drive.)
> 
> Depends on your motherboard. Try to just disable UDMA66 first. If that
> doesn't help, or if you have a "known bad" chipset (e.g. AcerLabs
> Aladdin), disable UDMA completely in the BIOS setup utility.

BZZST!

The Aladdin isn't bad, the support in the old wd based driver is :)

I use a DJNA drive on an Aladdin board, with the ATA driver, and it
works just dandy no matter how I set the BIOS (and I always get
UDMA33 btw, the Alladin wont do any higher than that)...

-SØren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: IBM-DJNA drives on FreeBSD

1999-07-04 Thread Dag-Erling Smorgrav

Richard Tobin <[EMAIL PROTECTED]> writes:
> Is that relevant for 3.2 as well as current?  And by "disabling ultra
> DMA" did you mean "disabling UDMA66" or "disabling UDMA completely"?
> (You can permanently disable UDMA66 with a DOS utility available
> from IBM, and it will then act as a plain UDMA33 drive.)

Depends on your motherboard. Try to just disable UDMA66 first. If that
doesn't help, or if you have a "known bad" chipset (e.g. AcerLabs
Aladdin), disable UDMA completely in the BIOS setup utility.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



IBM-DJNA drives on FreeBSD

1999-07-01 Thread Richard Tobin

I'm about to install FreeBSD 3.2 on a machine with an IBM-DJNA-371350
(Deskstar 22GXP 13.5GB) drive.  I see that on the -current mailing
list a few weeks ago you (phk) said:

>Try disabling "ultra DMA" in the BIOS, that seems to have worked for
>me on my IBM-DJNA-371800 drive.

Is that relevant for 3.2 as well as current?  And by "disabling ultra
DMA" did you mean "disabling UDMA66" or "disabling UDMA completely"?
(You can permanently disable UDMA66 with a DOS utility available
from IBM, and it will then act as a plain UDMA33 drive.)

Thanks,
-- Richard


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message