[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0807031843480.10463@engineering.redhat.com>
Date: Thu, 3 Jul 2008 18:54:53 -0400 (EDT)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
cc: Jens Axboe <jens.axboe@...cle.com>, linux-kernel@...r.kernel.org,
Neil Brown <neilb@...e.de>
Subject: Re: [PATCH 1/2] Avoid bio_endio recursion
On Thu, 3 Jul 2008, Alan Cox wrote:
>> I use the old IDE driver, I don't see a reason why driver should create
>> SCSI requests and lower layer translate them to ATA commands.
>
> Because modern drives are basically SCSI devices. Once you turn on NCQ
> and stuff you need all the midlayer queueing magic ...
There is no piece of SCSI protocol in SATA disks. The command and response
FIS of SATA standard contain legacy IDE registers, there's nothing about
SCSI. Even the NCQ commands are done via IDE registers, not SCSI command
block. It seems like someone wanted to save few weeks of coding by reusing
the SCSI disk queuing ... and created a lot of other problems (example: if
you have disk error with IDE driver, it dumps IDE registers into log ...
if you have disk error with SATA driver, it dumps sense key ... but
there's no sense key in SATA standard ... the driver just had to make up
one because it pretends to be SCSI).
Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists