From: Tejun Heo <htejun@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Jeff Garzik <jeff@garzik.org>,
linux-ide@vger.kernel.org, liml@rtr.ca, albertl@mail.com,
jens.axboe@oracle.com, Mikael Pettersson <mikpe@it.uu.se>
Subject: Re: [PATCH 14/14] libata: use PIO for misc ATAPI commands
Date: Wed, 05 Dec 2007 23:22:13 +0900 [thread overview]
Message-ID: <4756B415.404@gmail.com> (raw)
In-Reply-To: <20071205140119.532c1eb4@the-village.bc.nu>
Alan Cox wrote:
>> Well, if we change that in #upstream now, -mm will receive it and after
>> 2.6.24 is released, it will end up in -rc1. We can change it back if
>> the damage is too grave.
>
> Getting it in -rc is going to mess up other testing. It's perfect for -mm
> testing not -rc testing.
It eventually has to end up in -rc. If not for 2.6.25-rc1 is too early,
we can put it in #testing and put it into #upstream later.
>> Yeah, ALi seems to be genuine driver problem. I don't think using PIO
>> for misc ATAPI commands is extreme considering Windows is doing it.
>
> Windows does a lot of things that are bad and ugly workarounds for messes
> in the past. We have the ability to do a lot better than that.
I agree. It's double edged sword tho. We're not gonna get much test
coverage over those messes of the past and as I said, those are what I'm
primarily worried about. Command type dependent quick fallback might
help but ancient controllers are more likely to bring the whole machine
down when a DMA transaction goes south.
>> Another thing is check_atapi_dma in sata_promise. It mentions losing
>> interrupt which is exactly what happens if the drive tries to transfer
>> more data but DMA buffer is short on several controllers. I wonder
>> whether this is unnecessary with DMA draining added.
>
> Is it like the inic where you must do transfers in specific chunk sizes ?
I don't think so. It does READ_CD and READ_DVD_STRUCTURE via DMA. The
first one isn't 2k aligned the second is of variable size. I think the
driver was just working around buggy userland which issues commands like
mode sense with longer allocation size than actual buffer size.
--
tejun
next prev parent reply other threads:[~2007-12-05 14:23 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-29 14:33 [PATCHSET] libata: improve ATAPI data transfer handling, take #2 Tejun Heo
2007-11-29 14:33 ` [PATCH 01/14] libata: update atapi_eh_request_sense() such that lbam/lbah contains buffer size Tejun Heo
2007-11-29 15:51 ` Alan Cox
2007-12-04 19:27 ` Jeff Garzik
2007-12-05 0:47 ` Tejun Heo
2007-11-29 14:33 ` [PATCH 02/14] cdrom: add more GPCMD_* constants Tejun Heo
2007-11-29 14:33 ` [PATCH 03/14] libata: rename ATA_PROT_ATAPI_* to ATAPI_PROT_* Tejun Heo
2007-11-29 15:52 ` Alan Cox
2007-11-29 14:33 ` [PATCH 04/14] libata: add ATAPI_* cmd types and implement atapi_cmd_type() Tejun Heo
2007-11-29 14:33 ` [PATCH 05/14] libata: make ->data_xfer return the number of consumed bytes Tejun Heo
2007-11-29 15:55 ` Alan Cox
2007-11-29 16:06 ` Tejun Heo
2007-11-29 17:42 ` Alan Cox
2007-11-29 18:00 ` Tejun Heo
2007-11-29 18:24 ` Alan Cox
2007-11-29 18:57 ` Mark Lord
2007-11-29 19:37 ` Jeff Garzik
2007-11-29 19:36 ` Jeff Garzik
2007-11-29 21:22 ` Alan Cox
2007-12-04 19:30 ` Jeff Garzik
2007-12-05 0:49 ` Tejun Heo
2007-12-05 1:05 ` Jeff Garzik
2007-11-29 14:33 ` [PATCH 06/14] libata: improve ATAPI draining Tejun Heo
2007-11-29 15:59 ` Alan Cox
2007-11-29 16:09 ` Tejun Heo
2007-11-29 16:42 ` Tejun Heo
2007-11-29 17:40 ` Alan Cox
2007-11-29 18:11 ` Tejun Heo
2007-11-29 18:19 ` Alan Cox
2007-12-04 10:06 ` Albert Lee
2007-12-05 1:00 ` Tejun Heo
2007-11-29 14:33 ` [PATCH 07/14] libata: make atapi_request_sense() use sg Tejun Heo
2007-11-29 14:33 ` [PATCH 08/14] libata: kill non-sg DMA interface Tejun Heo
2007-11-29 16:00 ` Alan Cox
2007-12-04 19:31 ` Jeff Garzik
2007-12-05 1:02 ` Tejun Heo
2007-11-29 14:33 ` [PATCH 09/14] libata: change ATA_QCFLAG_DMAMAP semantics Tejun Heo
2007-11-29 14:33 ` [PATCH 10/14] libata: convert to chained sg Tejun Heo
2007-11-29 14:33 ` [PATCH 11/14] libata: add qc->dma_nbytes Tejun Heo
2007-11-29 16:02 ` Alan Cox
2007-12-04 19:33 ` Jeff Garzik
2007-12-05 1:02 ` Tejun Heo
2007-11-29 14:33 ` [PATCH 12/14] libata: implement ATAPI drain buffer Tejun Heo
2007-11-29 14:33 ` [PATCH 13/14] libata: implement ATAPI per-command-type DMA horkages Tejun Heo
2007-11-29 16:04 ` Alan Cox
2007-11-29 16:10 ` Tejun Heo
2007-11-29 14:33 ` [PATCH 14/14] libata: use PIO for misc ATAPI commands Tejun Heo
2007-11-29 16:05 ` Alan Cox
2007-11-29 16:14 ` Tejun Heo
2007-11-29 16:16 ` Tejun Heo
2007-11-29 18:55 ` Mark Lord
2007-11-29 22:52 ` Tejun Heo
2007-11-30 1:03 ` Mark Lord
2007-11-30 1:34 ` Tejun Heo
2007-11-30 4:19 ` Mark Lord
2007-11-30 13:40 ` Alan Cox
2007-11-30 13:59 ` Tejun Heo
2007-11-30 14:12 ` Jeff Garzik
2007-11-30 15:36 ` Alan Cox
2007-11-30 13:09 ` Alan Cox
2007-11-29 17:38 ` Alan Cox
2007-12-04 19:34 ` Jeff Garzik
2007-12-05 1:14 ` Tejun Heo
2007-12-05 12:47 ` Alan Cox
2007-12-05 13:03 ` Tejun Heo
2007-12-05 14:01 ` Alan Cox
2007-12-05 14:22 ` Tejun Heo [this message]
2007-12-05 14:46 ` Alan Cox
2007-12-05 15:13 ` Tejun Heo
2007-12-05 18:52 ` Jeff Garzik
2007-12-06 11:03 ` Petr Vandrovec
2007-12-06 11:10 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4756B415.404@gmail.com \
--to=htejun@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=albertl@mail.com \
--cc=jeff@garzik.org \
--cc=jens.axboe@oracle.com \
--cc=liml@rtr.ca \
--cc=linux-ide@vger.kernel.org \
--cc=mikpe@it.uu.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).