Re: acd0 vs cd0 (ATAPICAM)

2003-09-16 Thread Thomas Quinot
Le 2003-09-06, Guillaume écrivait :

> I'm running FreeBSD 5-CURRENT (Aug. 28 2003) on a P3 733MHz, 768MB ram
> with a LG DVD-RW/DVD-RAM burner. I would like to know why ATAPICAM is so
> slow with my system.

Maybe because ATAPI/CAM does not actually enable DMA. Can you try the
following patch?

Thomas.

Index: atapi-cam.c
===
RCS file: /home/ncvs/src/sys/dev/ata/atapi-cam.c,v
retrieving revision 1.22
diff -u -r1.22 atapi-cam.c
--- atapi-cam.c 11 Sep 2003 17:34:47 -  1.22
+++ atapi-cam.c 16 Sep 2003 13:20:18 -
@@ -227,6 +227,11 @@
 2 * device_get_unit(atp->channel->dev) +
 (atp->unit == ATA_MASTER) ? 0 : 1);
atp->softc = (void *)scp;
+   if (atapi_dma && atp->channel->dma &&
+   (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR)
+   atp->setmode(atadev, ATA_DMA_MAX);
+   else
+   atp->setmode(atadev, ATA_PIO_MAX);
 }
 }
 
-- 
[EMAIL PROTECTED]


pgp0.pgp
Description: PGP signature


Re: acd0 vs cd0 (ATAPICAM)

2003-09-16 Thread Guillaume
Le Mar 16/09/2003 à 09:22, Thomas Quinot a écrit :
> Le 2003-09-06, Guillaume écrivait :
> 
> > I'm running FreeBSD 5-CURRENT (Aug. 28 2003) on a P3 733MHz, 768MB ram
> > with a LG DVD-RW/DVD-RAM burner. I would like to know why ATAPICAM is so
> > slow with my system.
> 
> Maybe because ATAPI/CAM does not actually enable DMA. Can you try the
> following patch?
> 

I get an error when compiling kernel with this patch:


cc -c -O -pipe -march=pentiumpro -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual  -fformat-extensions -std=c99 
-nostdinc -I-  -I. -I../../.. -I../../../contrib/dev/acpica
-I../../../contrib/ipfilter -I../../../contrib/dev/ath
-I../../../contrib/dev/ath/freebsd -D_KERNEL -include opt_global.h
-fno-common -finline-limit=15000 -fno-strict-aliasing 
-mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding
-Werror  ../../../dev/ata/atapi-cam.c
../../../dev/ata/atapi-cam.c: In function `setup_dev':
../../../dev/ata/atapi-cam.c:232: error: `atadev' undeclared (first use
in this function)
../../../dev/ata/atapi-cam.c:232: error: (Each undeclared identifier is
reported only once
../../../dev/ata/atapi-cam.c:232: error: for each function it appears
in.)
*** Error code 1

Stop in /usr/src/sys/i386/compile/GUILLAUME.


> Thomas.
> 
> Index: atapi-cam.c
> ===
> RCS file: /home/ncvs/src/sys/dev/ata/atapi-cam.c,v
> retrieving revision 1.22
> diff -u -r1.22 atapi-cam.c
> --- atapi-cam.c   11 Sep 2003 17:34:47 -  1.22
> +++ atapi-cam.c   16 Sep 2003 13:20:18 -
> @@ -227,6 +227,11 @@
>2 * device_get_unit(atp->channel->dev) +
>(atp->unit == ATA_MASTER) ? 0 : 1);
>   atp->softc = (void *)scp;
> + if (atapi_dma && atp->channel->dma &&
> + (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR)
> + atp->setmode(atadev, ATA_DMA_MAX);
> + else
> + atp->setmode(atadev, ATA_PIO_MAX);
>  }
>  }
>  

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-17 Thread Thomas Quinot
Le 2003-09-17, Guillaume écrivait :

> > +   if (atapi_dma && atp->channel->dma &&
> > +   (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR)
> > +   atp->setmode(atadev, ATA_DMA_MAX);
> > +   else
> > +   atp->setmode(atadev, ATA_PIO_MAX);

Ahem. Replace atadev with atp on both lines...

Thomas.

-- 
[EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-17 Thread Bryan Liesner
On Wed, 17 Sep 2003, Thomas Quinot wrote:

> Le 2003-09-17, Guillaume écrivait :
>
> > > + if (atapi_dma && atp->channel->dma &&
> > > + (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR)
> > > + atp->setmode(atadev, ATA_DMA_MAX);
> > > + else
> > > + atp->setmode(atadev, ATA_PIO_MAX);
>
> Ahem. Replace atadev with atp on both lines...
>
> Thomas.

The patch seems to work, my cd0 and cd1 lines in the dmesg now report
33.000 MB/s insetad of 3.300 MB/s.

-Bryan
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-17 Thread Thomas Quinot
Le 2003-09-17, Bryan Liesner écrivait :

> The patch seems to work, my cd0 and cd1 lines in the dmesg now report
> 33.000 MB/s insetad of 3.300 MB/s.

OK, good, so that's one half of the problem resolved. Now, can you test
whether the actual performances are improved or still slow?

Thomas.

-- 
[EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-17 Thread Guillaume
Le Mer 17/09/2003 à 07:40, Thomas Quinot a écrit :
> Le 2003-09-17, Bryan Liesner écrivait :
> 
> > The patch seems to work, my cd0 and cd1 lines in the dmesg now report
> > 33.000 MB/s insetad of 3.300 MB/s.
> 
> OK, good, so that's one half of the problem resolved. Now, can you test
> whether the actual performances are improved or still slow?
> 

The patch does nothing for me. Same results... and cd0 is still slow.



Guillaume

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-18 Thread Bryan Liesner
On Thu, 18 Sep 2003, Thomas Quinot wrote:

> Le 2003-09-18, Guillaume écrivait :
>
> > The patch does nothing for me. Same results... and cd0 is still slow.
>
> OK, then please try to apply the patch below in addition to the previous
> one:
>

Sorry, I hadn't really noticed or checked for speed issues before the
first patch that you issued, only that I noticed the reported speed
went from 3.3MB/s to 33.3MB/s.

There is a new issue, though.  Soren commited a change to ata-queue.c
this morning. This change together with atapicam, causes the system
to hang indefinitely after detecting ad0. Had to hit the reset button and
boot from the previous kernel.

Without atapicam, the system boots normally.

-Bryan

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-18 Thread Guillaume
Le Jeu 18/09/2003 à 15:32, Thomas Quinot a écrit :
> Le 2003-09-18, Guillaume écrivait :
> 
> > The patch does nothing for me. Same results... and cd0 is still slow.
> 
> OK, then please try to apply the patch below in addition to the previous
> one:
> 

Thanks for the patch. cd0 is faster now and ATAPICAM works great.
Are you going to commit the patch?



Guillaume

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-19 Thread Thomas Quinot
Le 2003-09-19, Guillaume écrivait :

> Thanks for the patch. cd0 is faster now and ATAPICAM works great.

That's good news!

> Are you going to commit the patch?

Yes, the patch is currently being reviewed.

-- 
[EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-24 Thread Thomas Quinot
Le 2003-09-19, Guillaume écrivait :

> Thanks for the patch. cd0 is faster now and ATAPICAM works great.
> Are you going to commit the patch?

DMA is now enabled for ATAPI/CAM i/o, as of atapi-cam.c rev. 1.26.
Thanks to all who tested and reviewed the change.

Thomas.

-- 
[EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: acd0 vs cd0 (ATAPICAM)

2003-09-24 Thread Bryan Liesner
On Wed, 24 Sep 2003, Thomas Quinot wrote:

> Le 2003-09-19, Guillaume écrivait :
>
> > Thanks for the patch. cd0 is faster now and ATAPICAM works great.
> > Are you going to commit the patch?
>
> DMA is now enabled for ATAPI/CAM i/o, as of atapi-cam.c rev. 1.26.
> Thanks to all who tested and reviewed the change.
>

No, thank you!  dd'ing a full data CD before this fix had top showing
at least 50% of the CPU time in interrupt - it's now down to the usual
5% or less.

-Bryan

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"