On Thu, Sep 22, 2016 at 7:23 AM, Jens Axboe <ax...@fb.com> wrote:
> On 09/16/2016 12:16 PM, Andy Lutomirski wrote:
>> Hi all-
>> Here's v4 of the APST patch set. The biggest bikesheddable thing (I
>> think) is the scaling factor. I currently have it hardcoded so that
>> we wait 50x the total latency before entering a power saving state.
>> On my Samsung 950, this means we enter state 3 (70mW, 0.5ms entry
>> latency, 5ms exit latency) after 275ms and state 4 (5mW, 2ms entry
>> latency, 22ms exit latency) after 1200ms. I have the default max
>> latency set to 25ms.
>> FWIW, in practice, the latency this introduces seems to be well
>> under 22ms, but my benchmark is a bit silly and I might have
>> measured it wrong. I certainly haven't observed a slowdown just
>> using my laptop.
>> This time around, I changed the names of parameters after Jay
>> Frayensee got confused by the first try. Now they are:
>> - ps_max_latency_us in sysfs: actually controls it.
>> - nvme_core.default_ps_max_latency_us: sets the default.
>> Yeah, they're mouthfuls, but they should be clearer now.
> The only thing I don't like about this is the fact that's it's a driver
> private thing. Similar to ALPM on SATA, it's yet another knob that needs to
> be set. It we put it somewhere generic, then at least we could potentially
> use it in a generic fashion.
Agreed. I'm hoping to hear back from Rafael soon about the dev_pm_qos thing.
> Additionally, it should not be on by default.
I think I disagree with this. Since we don't have anything like
laptop-mode AFAIK, I think we do want it on by default. For the
server workloads that want to consume more idle power for faster
response when idle, I think the servers should be willing to make this
change, just like they need to disable overly deep C states, etc.
(Admittedly, unifying the configuration would be nice.)