Re: [patch 0/3] AHCI Link Power Management

From: Jens Axboe
Date: Thu Jun 14 2007 - 07:58:51 EST

On Tue, Jun 12 2007, Tejun Heo wrote:
> Arjan van de Ven wrote:
> >> I'm not sure about this. We need better PM framework to support
> >> powersaving in other controllers and some ahcis don't save much
> >> when only link power management is used,
> >
> > do you have data to support this?
> Yeah, it was some Lenovo notebook. Pavel is more familiar with the
> hardware. Pavel, what was the notebook which didn't save much power
> with standard SATA power save but needed port to be completely turned off?
> > The data we have from this patch is that it saves typically a Watt of
> > power (depends on the machine of course, but the range is 0.5W to
> > 1.5W). If you want to also have an even more agressive thing where
> > you want to start disabling the entire controller... I don't see how
> > this is in conflict with saving power on the link level by "just"
> > enabling a hardware feature ....
> Well, both implement about the same thing. I prefer software
> implementation because it's more generic and ALPE/ASP seems too
> aggressive to me. Here are reasons why sw implementation wasn't merged.
> 1. It didn't have proper interface with userland. This was mainly
> because of missing ATA sysfs nodes. I'm not sure whether adding this to
> scsi node is a good idea.
> 2. It was focused on SATA link PS and couldn't cover the Lenovo case.
> I think we need something at the block layer.

I think the hardware method is preferable, actually. Doing this in the
block layer would mean keeping track of idle time, and that quickly
turns into a lot of timer management. Not exactly free, in terms of CPU

I've yet to do some power measurements with this ahci patch, I just
noticed that with min_power performance drops from ~55mb/sec to
~15mb/sec sequential on my drive. That's pretty drastic :-)

Jens Axboe

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at