From: Robert Hancock <hancockr@shaw.ca>
To: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Tejun Heo <htejun@gmail.com>,
Michael Sedkowski <sedmich@gmail.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
linux-acpi@vger.kernel.org
Subject: Re: Disk spin down issue on shut down/suspend to disk
Date: Tue, 07 Aug 2007 18:23:29 -0600 [thread overview]
Message-ID: <46B90D01.6010703@shaw.ca> (raw)
In-Reply-To: <fa.A9df+SR4FMdI7qZmsXY0xFyurbU@ifi.uio.no>
Henrique de Moraes Holschuh wrote:
> On Tue, 07 Aug 2007, Tejun Heo wrote:
>> Henrique de Moraes Holschuh wrote:
>>> On Tue, 07 Aug 2007, Tejun Heo wrote:
>>>> Michael Sedkowski wrote:
>>>>>> Hmmm... If the problem only shows up on nx6325, it might be that ACPI is
>>>>>> pulling unnecessary stunt. Please apply the attached patch and report
>>>>>> when the disk spins down and up.
>>>>> Disk spins down on "Pre-shutdown prepare" and then goes up and down on
>>>>> "Power down".
>>>> Oh... crap, so acpi wants to sync cache on shutdown. I wonder whether
>>>> it spins down the disk correctly. Does emergency unload count increase
>>>> after each power down? Also, please post the result of 'dmidecode'.
>>> You know, this actually make a lot of sense, and one can't even complain
>>> about firmware that pulls that off.
>> Well, I'm complaining. I think the problem here is that it isn't clear
>> which one is who's responsibility. There's a Korean saying which
>
> The BIOS *has* to do it when in DOS mode, the HD manuals are very very clear
> about it. Doing it through ACPI ATA objects is at least non-broken as far
> as these things go, as one knows when to do it directly ("non-ACPI mode"),
> and one doesn't talk to the disk directly.
>
>> approximately translates into "if you have too many boatmen on a ship,
>> it goes to mountain". We also have a bunch of Toshiba laptops which
>
> Yeah, that's a problem. But we can avoid it if we start snooping what ACPI
> is asking us to deliver to the disks, which IMO is an extremely good idea
> anyway.
Problem is I don't think we can do this. As far as I can tell, on my
Compaq at least, it's not being done through ACPI AML in the DSDT, like
in the _PTS function (which the kernel executes and can snoop), but when
we actually do the power-off we write a value to a magic ACPI register.
That likely triggers the BIOS to take control in SMM mode and access the
controller directly before triggering the power off, which we have no
control or knowledge of.
>
>> want the ATA controller to be in enabled state when ACPI suspend is
>> invoked because the suspend method apparently wants to execute some
>> commands before going to sleep.
>
> That's just broken, since it is not even using a OS-backed SATA/ATA ACPI
> method to do it.
>
>> I wish ACPI spec carries a big fat sign saying "stay f*** away from
>> anything which isn't essential to the requested operation".
>
> Shutting down disks *is* essential to the power off operation. ACPI would
> have to mandate who is to do it, instead (ACPI table or OSI by itself).
>
>>> Any chances of changing things
>>> so that we inspect/snoop all tasks sent to the device, and filter them
>>> out, or react to them accordingly?
>> No, we can't unless we snoop ACPI method execution and detect accesses
>> to IO ports or iomem regions. It's not going through any driver. This
>> is a gross mess.
>
> I don't mean fixing the stuff clowns like Toshiba did. The correct fix for
> that is to blacklist the hell out of that crap and patch their DSDT into
> something remotely sane.
>
> I do mean snooping the ACPI methods that *return* a taskset to send to the
> driver, and we send that taskset ourselves in libata and libpata(?).
>
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
next prev parent reply other threads:[~2007-08-08 0:23 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.bsWpbo79BZgHoaIGhEMfTEBxs54@ifi.uio.no>
[not found] ` <fa.mg6p0itaOQUo/t8deCaYpyqj6Nk@ifi.uio.no>
[not found] ` <fa.RxWYL8z8KktgL8LGZ/cTB2nI1Yc@ifi.uio.no>
[not found] ` <fa.AyyCtZ2yLjC5noHPHtmzn4ffhhE@ifi.uio.no>
[not found] ` <fa.SuAjism+m0z0haqCRVjkc2S978o@ifi.uio.no>
[not found] ` <fa.QgWcLG2hfRb92g4blN61qYfRjlQ@ifi.uio.no>
2007-08-06 23:31 ` Disk spin down issue on shut down/suspend to disk Robert Hancock
2007-08-07 6:41 ` Tejun Heo
2007-08-07 14:28 ` Robert Hancock
2007-08-07 14:37 ` Tejun Heo
2007-08-07 14:45 ` Thomas Renninger
2007-08-07 19:23 ` Michael Sedkowski
2007-08-07 20:09 ` Maciej Rutecki
2007-08-07 20:33 ` Rafael J. Wysocki
2007-08-07 20:41 ` Rafael J. Wysocki
2007-08-07 21:28 ` Maciej Rutecki
2007-08-07 22:30 ` Rafael J. Wysocki
2007-08-08 9:29 ` Michael Sedkowski
2007-08-08 2:56 ` Tejun Heo
2007-08-08 12:24 ` Rafael J. Wysocki
2007-08-09 21:46 ` Rafael J. Wysocki
2007-08-08 2:54 ` Tejun Heo
2007-08-08 14:08 ` Mark Lord
2007-08-08 14:14 ` Tejun Heo
2007-08-08 14:24 ` Mark Lord
2007-08-08 14:30 ` Tejun Heo
2007-08-08 15:21 ` Mark Lord
2007-08-08 15:35 ` Mark Lord
2007-08-08 16:20 ` Tejun Heo
2007-08-08 17:04 ` Mark Lord
2007-08-09 15:06 ` Pavel Machek
2007-08-09 18:47 ` Rafael J. Wysocki
[not found] ` <fa.Nj/igOoDE6GHsgyWFEo/9WCtE9c@ifi.uio.no>
[not found] ` <fa.usmOl3OVQVx3VExwvKiQI5iAX5Q@ifi.uio.no>
[not found] ` <fa.A9df+SR4FMdI7qZmsXY0xFyurbU@ifi.uio.no>
2007-08-08 0:23 ` Robert Hancock [this message]
2007-08-08 12:27 ` Rafael J. Wysocki
[not found] ` <fa.3VfWxxgY+5IvJGIam0al/rUn/Q4@ifi.uio.no>
[not found] ` <fa.WVQYJNYB2uuhgQFoGpK6eCfWazo@ifi.uio.no>
[not found] ` <fa.5IFtia9VWM6ePZjGzb+WVMoHQCY@ifi.uio.no>
[not found] ` <fa.M8tTjYMrntIRJ5aXHPFPjCNEk6k@ifi.uio.no>
[not found] ` <fa.IDurvYCLZ5ArGLsuNcLC3l1CSqQ@ifi.uio.no>
2007-08-11 2:21 ` Robert Hancock
2007-08-08 18:58 Al Boldi
[not found] <fa.kWUtPRLMmU/fKL6dyOOVKsSM0fg@ifi.uio.no>
[not found] ` <fa.EbjjD+/NapKvm3jfMLnkxumomC0@ifi.uio.no>
[not found] ` <fa.dm4O1sGL4RetYq2szbwwJT3cf2c@ifi.uio.no>
[not found] ` <fa.7tYfpSdE8/lmfK5ulSN+/6TRSbw@ifi.uio.no>
[not found] ` <fa.R1sVaL6mATofNd18aEZgwlczb8M@ifi.uio.no>
[not found] ` <fa.Z030SpvZYAHux0f8UtlnJwatsvY@ifi.uio.no>
2007-08-08 0:14 ` Robert Hancock
2007-08-08 4:06 ` Henrique de Moraes Holschuh
2007-08-08 4:26 ` Robert Hancock
-- strict thread matches above, loose matches on Subject: below --
2007-08-06 12:38 Michael Sedkowski
2007-08-05 21:37 Michał sed
[not found] <838f88840708051428p3d65ff42w627af4bc38f57de3@mail.gmail.com>
2007-08-05 21:33 ` Michał sed
[not found] ` <6bffcb0e0709080832o30fb21b5vcd09baa8387efcc0@mail.gmail.com>
2007-09-08 21:29 ` Rafael J. Wysocki
2007-09-09 9:20 ` Maciek Rutecki
2007-09-09 11:35 ` Rafael J. Wysocki
2007-08-06 5:22 ` Tejun Heo
2007-08-06 14:23 ` Henrique de Moraes Holschuh
2007-08-06 14:50 ` Michael Sedkowski
2007-08-06 15:01 ` Henrique de Moraes Holschuh
2007-08-06 15:27 ` Michael Sedkowski
2007-08-06 15:32 ` Rafael J. Wysocki
2007-08-06 17:03 ` Tejun Heo
2007-08-06 18:21 ` Michael Sedkowski
2007-08-06 18:43 ` Tejun Heo
2007-08-06 19:40 ` Rafael J. Wysocki
2007-08-06 19:43 ` Michael Sedkowski
2007-08-06 22:18 ` Michael Sedkowski
2007-08-07 6:56 ` Tejun Heo
2007-08-07 9:18 ` Michael Sedkowski
2007-08-07 9:31 ` Tejun Heo
2007-08-07 12:56 ` Henrique de Moraes Holschuh
2007-08-07 9:30 ` Michael Sedkowski
2007-08-06 23:45 ` Henrique de Moraes Holschuh
2007-08-07 6:53 ` Tejun Heo
2007-08-07 12:51 ` Henrique de Moraes Holschuh
2007-08-07 13:04 ` Thomas Renninger
2007-08-07 13:35 ` Tejun Heo
2007-08-07 13:09 ` Tejun Heo
2007-08-07 13:16 ` Henrique de Moraes Holschuh
2007-08-07 13:32 ` Tejun Heo
2007-08-07 13:45 ` Thomas Renninger
2007-08-07 14:01 ` Tejun Heo
2007-08-09 15:16 ` Pavel Machek
2007-08-09 15:56 ` Thomas Renninger
2007-08-06 19:25 ` Rafael J. Wysocki
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=46B90D01.6010703@shaw.ca \
--to=hancockr@shaw.ca \
--cc=hmh@hmh.eng.br \
--cc=htejun@gmail.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=sedmich@gmail.com \
/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).