linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Forcing modes in libata (was: SATA buffered read VERY slow)
@ 2008-01-05 13:41 Al Boldi
  2008-01-05 16:30 ` Alan Cox
  0 siblings, 1 reply; 9+ messages in thread
From: Al Boldi @ 2008-01-05 13:41 UTC (permalink / raw)
  To: linux-kernel

Alan Cox wrote:
> hdparm supports identify to read modes on drives with libata. The one
> thing you cannot do is force modes right now.

I have some AOpen 52x/32x CD-RWriter, that advertises itself as DMA capable, 
but has a hard time sustaining such access.  The only way to make access to 
this drive safe is by reducing it to PIO-3 even on XP,  which makes libata 
somewhat unusable on this drive, especially for writing.

What's hindering the ability to force a mode in libata, as is possible with 
the normal ide-driver?


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Forcing modes in libata (was: SATA buffered read VERY slow)
  2008-01-05 13:41 Forcing modes in libata (was: SATA buffered read VERY slow) Al Boldi
@ 2008-01-05 16:30 ` Alan Cox
  2008-01-06  5:03   ` Al Boldi
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Cox @ 2008-01-05 16:30 UTC (permalink / raw)
  To: Al Boldi; +Cc: linux-kernel

On Sat, 5 Jan 2008 16:41:03 +0300
Al Boldi <a1426z@gawab.com> wrote:

> What's hindering the ability to force a mode in libata, as is possible with 
> the normal ide-driver?

We want it to be correct and race free. That means we have to synchronize
all the devices on the controller, quiesce them and recompute the speeds
for each device then turn them all back on and resume command processing.

It is quite hairy although Tejun's EH work has provided the framework for
all of this.

For now you can boot with libata.dma=1 to select DMA on disks but not CD

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Forcing modes in libata (was: SATA buffered read VERY slow)
  2008-01-05 16:30 ` Alan Cox
@ 2008-01-06  5:03   ` Al Boldi
  2008-01-06 13:36     ` Alan Cox
  0 siblings, 1 reply; 9+ messages in thread
From: Al Boldi @ 2008-01-06  5:03 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel

Alan Cox wrote:
> Al Boldi <a1426z@gawab.com> wrote:
> > What's hindering the ability to force a mode in libata, as is possible
> > with the normal ide-driver?
>
> We want it to be correct and race free. That means we have to synchronize
> all the devices on the controller, quiesce them and recompute the speeds
> for each device then turn them all back on and resume command processing.
>
> It is quite hairy although Tejun's EH work has provided the framework for
> all of this.
>
> For now you can boot with libata.dma=1 to select DMA on disks but not CD

Great, but why isn't this in the documentation?


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Forcing modes in libata (was: SATA buffered read VERY slow)
  2008-01-06  5:03   ` Al Boldi
@ 2008-01-06 13:36     ` Alan Cox
  2008-01-06 15:21       ` [PATCH] " FD Cami
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Cox @ 2008-01-06 13:36 UTC (permalink / raw)
  To: Al Boldi; +Cc: linux-kernel

On Sun, 6 Jan 2008 08:03:31 +0300
> > For now you can boot with libata.dma=1 to select DMA on disks but not CD
> 
> Great, but why isn't this in the documentation?

Send patches

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH] Re: Forcing modes in libata (was: SATA buffered read VERY slow)
  2008-01-06 13:36     ` Alan Cox
@ 2008-01-06 15:21       ` FD Cami
       [not found]         ` <200801061727.38206.bzolnier@gmail.com>
  0 siblings, 1 reply; 9+ messages in thread
From: FD Cami @ 2008-01-06 15:21 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alan Cox, Al Boldi

[-- Attachment #1: Type: text/plain, Size: 612 bytes --]

On Sun, 6 Jan 2008 13:36:09 +0000
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

> On Sun, 6 Jan 2008 08:03:31 +0300
> > > For now you can boot with libata.dma=1 to select DMA on disks but
> > > not CD
> > 
> > Great, but why isn't this in the documentation?
> 
> Send patches

patch attached.

Description : Add libata.dma= to Documentation/kernel-parameters.txt

Found documentation in :
http://www.mail-archive.com/linux-ide%40vger.kernel.org/msg09849.html
http://www.redhat.com/archives/fedora-extras-commits/2007-October/msg04568.html

Signed-off-by: François Cami <francois.cami@free.fr>

[-- Attachment #2: libata-doc-patch.txt --]
[-- Type: text/plain, Size: 675 bytes --]

diff -rU2 linux-2.6.24-rc6/Documentation/kernel-parameters.txt linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt
--- linux-2.6.24-rc6/Documentation/kernel-parameters.txt	2008-01-06 15:58:54.000000000 +0100
+++ linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt	2008-01-06 16:11:20.000000000 +0100
@@ -883,4 +883,11 @@
 			C2 power state.
 
+	libata.dma=	[LIBATA] DMA control
+			libata.dma=0	  Disable all PATA DMA like old IDE
+			libata.dma=1	  Disk DMA only
+			libata.dma=2	  ATAPI DMA only
+			libata.dma=3	  CF DMA only 
+			libata.dma=0,1,3  Combinations also work.
+
 	libata.noacpi	[LIBATA] Disables use of ACPI in libata suspend/resume
 			when set.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Re: Forcing modes in libata (was: SATA buffered read VERY slow)
       [not found]         ` <200801061727.38206.bzolnier@gmail.com>
@ 2008-01-06 18:08           ` FD Cami
  2008-01-06 19:09             ` Bartlomiej Zolnierkiewicz
  2008-01-10 21:56             ` [PATCH] Re: Forcing modes in libata Jeff Garzik
  0 siblings, 2 replies; 9+ messages in thread
From: FD Cami @ 2008-01-06 18:08 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: linux-kernel, Alan Cox, Al Boldi, Jeff Garzik, Zoltan Boszormenyi

[-- Attachment #1: Type: text/plain, Size: 2278 bytes --]

On Sun, 6 Jan 2008 17:27:38 +0100
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:

> On Sunday 06 January 2008, FD Cami wrote:
> > On Sun, 6 Jan 2008 13:36:09 +0000
> > Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > 
> > > On Sun, 6 Jan 2008 08:03:31 +0300
> > > > > For now you can boot with libata.dma=1 to select DMA on disks
> > > > > but not CD
> > > > 
> > > > Great, but why isn't this in the documentation?
> > > 
> > > Send patches
> > 
> > patch attached.
> > 
> > Description : Add libata.dma= to Documentation/kernel-parameters.txt
> > 
> > Found documentation in :
> > http://www.mail-archive.com/linux-ide%40vger.kernel.org/msg09849.html
> > http://www.redhat.com/archives/fedora-extras-commits/2007-October/msg04568.html
> > 
> > Signed-off-by: François Cami <francois.cami@free.fr>
> 
> diff -rU2 linux-2.6.24-rc6/Documentation/kernel-parameters.txt 
> linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt
> ---
> linux-2.6.24-rc6/Documentation/kernel-parameters.txt        2008-01-06
> 15:58:54.000000000 +0100 +++
> linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt   2008-01-06
> 16:11:20.000000000 +0100 @@ -883,4 +883,11 @@ C2 power state. 
> +       libata.dma=     [LIBATA] DMA control
> +                       libata.dma=0      Disable all PATA DMA like
> old IDE
> 
> this doesn't seem entirely correct:
> 
> * IDE has "hdx=nodma" so you can disable DMA on per-device basis

I think that libata.dma=1 is designed to behave like 
CONFIG_IDEDMA_ONLYDISK used to. "hdx=nodma" is more fine-grained than
this.

> * is this really limited to PATA?

Alan's original patch took care of PATA. SATA support was added
later by Jeff Garzik. Corrected documentation patch attached.

> +                       libata.dma=1      Disk DMA only
> +                       libata.dma=2      ATAPI DMA only
> +                       libata.dma=3      CF DMA only 

This is also wrong, it should be "libata.dma=4      CF DMA only"
Thanks to Zoltan Boszormenyi <zboszor@dunaweb.hu> for catching this
mistake.

Revised patch attached.

Best,

François

[-- Attachment #2: libata-doc-patch2.txt --]
[-- Type: text/plain, Size: 846 bytes --]

diff -rU4 linux-2.6.24-rc6/Documentation/kernel-parameters.txt linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt
--- linux-2.6.24-rc6/Documentation/kernel-parameters.txt	2008-01-06 15:58:54.000000000 +0100
+++ linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt	2008-01-06 18:46:49.000000000 +0100
@@ -881,8 +881,16 @@
 
 	lapic_timer_c2_ok	[X86-32,x86-64,APIC] trust the local apic timer in
 			C2 power state.
 
+	libata.dma=	[LIBATA] DMA control
+			libata.dma=0	  Disable all PATA and SATA DMA
+			libata.dma=1	  PATA and SATA Disk DMA only
+			libata.dma=2	  ATAPI (CDROM) DMA only
+			libata.dma=4	  Compact Flash DMA only 
+			Combinations also work, so libata.dma=3 enables DMA
+			for disks and CDROMs, but not CFs.
+
 	libata.noacpi	[LIBATA] Disables use of ACPI in libata suspend/resume
 			when set.
 			Format: <int>
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Re: Forcing modes in libata (was: SATA buffered read VERY slow)
  2008-01-06 18:08           ` FD Cami
@ 2008-01-06 19:09             ` Bartlomiej Zolnierkiewicz
  2008-01-10 21:56             ` [PATCH] Re: Forcing modes in libata Jeff Garzik
  1 sibling, 0 replies; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-01-06 19:09 UTC (permalink / raw)
  To: FD Cami; +Cc: linux-kernel, Alan Cox, Al Boldi, Jeff Garzik, Zoltan Boszormenyi

On Sunday 06 January 2008, FD Cami wrote:
> On Sun, 6 Jan 2008 17:27:38 +0100
> Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
> 
> > On Sunday 06 January 2008, FD Cami wrote:
> > > On Sun, 6 Jan 2008 13:36:09 +0000
> > > Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > > 
> > > > On Sun, 6 Jan 2008 08:03:31 +0300
> > > > > > For now you can boot with libata.dma=1 to select DMA on disks
> > > > > > but not CD
> > > > > 
> > > > > Great, but why isn't this in the documentation?
> > > > 
> > > > Send patches
> > > 
> > > patch attached.
> > > 
> > > Description : Add libata.dma= to Documentation/kernel-parameters.txt
> > > 
> > > Found documentation in :
> > > http://www.mail-archive.com/linux-ide%40vger.kernel.org/msg09849.html
> > > http://www.redhat.com/archives/fedora-extras-commits/2007-October/msg04568.html
> > > 
> > > Signed-off-by: François Cami <francois.cami@free.fr>
> > 
> > diff -rU2 linux-2.6.24-rc6/Documentation/kernel-parameters.txt 
> > linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt
> > ---
> > linux-2.6.24-rc6/Documentation/kernel-parameters.txt        2008-01-06
> > 15:58:54.000000000 +0100 +++
> > linux-2.6.24-rc6-mine/Documentation/kernel-parameters.txt   2008-01-06
> > 16:11:20.000000000 +0100 @@ -883,4 +883,11 @@ C2 power state. 
> > +       libata.dma=     [LIBATA] DMA control
> > +                       libata.dma=0      Disable all PATA DMA like
> > old IDE
> > 
> > this doesn't seem entirely correct:
> > 
> > * IDE has "hdx=nodma" so you can disable DMA on per-device basis
> 
> I think that libata.dma=1 is designed to behave like 
> CONFIG_IDEDMA_ONLYDISK used to. "hdx=nodma" is more fine-grained than
> this.

Seems so but CONFIG_IDEDMA_ONLYDISK was removed on the same day
that "hdx=nodma" was introduced (Oct 16 2007)...

> > * is this really limited to PATA?
> 
> Alan's original patch took care of PATA. SATA support was added
> later by Jeff Garzik. Corrected documentation patch attached.
> 
> > +                       libata.dma=1      Disk DMA only
> > +                       libata.dma=2      ATAPI DMA only
> > +                       libata.dma=3      CF DMA only 
> 
> This is also wrong, it should be "libata.dma=4      CF DMA only"
> Thanks to Zoltan Boszormenyi <zboszor@dunaweb.hu> for catching this
> mistake.
> 
> Revised patch attached.

Thanks, looks good to me.

Bart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Re: Forcing modes in libata
  2008-01-06 18:08           ` FD Cami
  2008-01-06 19:09             ` Bartlomiej Zolnierkiewicz
@ 2008-01-10 21:56             ` Jeff Garzik
  2008-01-11 22:31               ` FD Cami
  1 sibling, 1 reply; 9+ messages in thread
From: Jeff Garzik @ 2008-01-10 21:56 UTC (permalink / raw)
  To: FD Cami
  Cc: Bartlomiej Zolnierkiewicz, linux-kernel, Alan Cox, Al Boldi,
	Zoltan Boszormenyi

FD Cami wrote:
> Revised patch attached.
> 
> Best,
> 
> François
> 

applied.  please include signed-off-by lines in the future...


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Re: Forcing modes in libata
  2008-01-10 21:56             ` [PATCH] Re: Forcing modes in libata Jeff Garzik
@ 2008-01-11 22:31               ` FD Cami
  0 siblings, 0 replies; 9+ messages in thread
From: FD Cami @ 2008-01-11 22:31 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel


Hi,

On Thu, 10 Jan 2008 16:56:10 -0500
Jeff Garzik <jeff@garzik.org> wrote:

> FD Cami wrote:
> > Revised patch attached.
> > 
> > Best,
> > 
> > François
> > 
> 
> applied.  please include signed-off-by lines in the future...

Will do. Thanks !

François

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-01-11 22:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-05 13:41 Forcing modes in libata (was: SATA buffered read VERY slow) Al Boldi
2008-01-05 16:30 ` Alan Cox
2008-01-06  5:03   ` Al Boldi
2008-01-06 13:36     ` Alan Cox
2008-01-06 15:21       ` [PATCH] " FD Cami
     [not found]         ` <200801061727.38206.bzolnier@gmail.com>
2008-01-06 18:08           ` FD Cami
2008-01-06 19:09             ` Bartlomiej Zolnierkiewicz
2008-01-10 21:56             ` [PATCH] Re: Forcing modes in libata Jeff Garzik
2008-01-11 22:31               ` FD Cami

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).