[RFC] Dynamic fan clock divider changes (long)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > The user still doesn't have to care, which is fine, but if the user
> > has a fan speed between 2000 and 5000 RPM, with low limit set to
> > 1500 RPM, he/she will have a "bad" accuracy at 5000 RPM (+/- 104
> > RPM). I see this as the low limit "nailing" the divider ;)
> 
> This doesn't sound so bad at all. And this seems to be the simplest
> approach.

Agreed.

> > This is what I implemented in my new pc87360 driver (after trying
> > #1). I use 85 and 224 as the arbitrary limits for changing
> > dividers.
> 
> This confused me a bit. It seems that a direct consequence of
> implementation #2 is that the divider will be set in a way that the
> low limit will be between 128 and 255, and that there is no point in
> changing the divider, because it will only get worse.

You're absolutely right.

> This leads directly to implementation #4. Am I missing something?

You are. In #4, the divider is arbitrarily chosen by "us", regardless of
the user's setup. In #2, the divider is chosen according to the user's
hardware and fan use. The common point is that (after setting the low
limit for #2) the divider will no longer change (until the low limit
changes for #2). But in #2 the divider is optimal, in #4 it is
arbitrary.

This makes a big difference because we cannot possibly arbitrarily pick
a divider and not allow the user to change it, so in #4 we would have to
keep the manual interface as well, as it exists for now. For #2, we can
reasonably hope to get rid of the manual interface after some times
(once the automatic mode will have been tested and is believed to be
correct).

> Anyway, if the user is really concerned about accuracy an average of
> several measurements should increase precision in this kind of
> problem.

Yes, that's a possibility. Not sure it's even worth the extra code, but
someone motivated could do it, you're right.

Thanks for your comments :)

-- 
Jean Delvare
http://khali.linux-fr.org/



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux