linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: Gabriele Mazzotta <gabriele.mzt@gmail.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jean Delvare <jdelvare@suse.de>,
	Steven Honeyman <stevenhoneyman@gmail.com>,
	Jochen Eisinger <jochen@penguin-breeder.org>,
	linux-kernel@vger.kernel.org, Valdis.Kletnieks@vt.edu
Subject: Re: [PATCH 3/3] i8k: Remove laptop specific config data (fan_mult, fan_max) from driver
Date: Sun, 28 Dec 2014 00:28:20 -0800	[thread overview]
Message-ID: <20141228082820.GB31346@roeck-us.net> (raw)
In-Reply-To: <201412280922.30389@pali>

On Sun, Dec 28, 2014 at 09:22:29AM +0100, Pali Rohár wrote:
> On Saturday 27 December 2014 15:13:28 Gabriele Mazzotta wrote:
> > On Thursday 25 December 2014 22:54:34 Gabriele Mazzotta wrote:
> > > On Thursday 18 December 2014 12:08:58 Pali Rohár wrote:
> > > > On Wednesday 10 December 2014 14:32:16 Gabriele Mazzotta 
> wrote:
> > > > > On Wednesday 10 December 2014 12:51:30 Pali Rohár wrote:
> > > > > > On Tuesday 09 December 2014 21:07:01 Pali Rohár wrote:
> > > > > > > Now we have autodetection code for fan multiplier
> > > > > > > and maximal fan speed so we do not need to have
> > > > > > > those constants for each laptop in kernel driver
> > > > > > > code.
> > > > > > > 
> > > > > > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > > > > > ---
> > > > > > > !!!Please do not apply this patch until all affected
> > > > > > > machines will be tested!!!
> > > > > > > 
> > > > > > > I tested autodetection code only on Dell Latitude
> > > > > > > E6440 (where it worked). Other machines which needs
> > > > > > > to be tested:
> > > > > > > 
> > > > > > > Dell Latitude D520
> > > > > > > Dell Latitude E6540
> > > > > > > Dell Precision WorkStation 490
> > > > > > > Dell Studio
> > > > > > > Dell XPS M140 (MXC051)
> > > > > > > ---
> > > > > > 
> > > > > > Can somebody else with dell laptops test this patch
> > > > > > series?
> > > > > 
> > > > > i8k_get_fan_nominal_rpm() returns -22 on my XPS13, so
> > > > > nothing changed with this patch series applied.
> > > > > 
> > > > > Gabriele
> > > > 
> > > > So your BIOS cannot report nominal_rpm and because your
> > > > machine is not in dmi list, all 3 patches do nothing for
> > > > your machine.
> > > > 
> > > > But you need to set multiplier to 1, right?
> > > > 
> > > > What about this patch? (on top of 3/3)
> > > > 
> > > > --- a/drivers/char/i8k.c
> > > > +++ b/drivers/char/i8k.c
> > > > @@ -850,6 +850,10 @@ static int __init i8k_probe(void)
> > > > 
> > > >  		 */
> > > >  		
> > > >  		for (fan = 0; fan < I8K_FAN_COUNT; ++fan) {
> > > >  		
> > > >  			i8k_fan_mult[fan] = I8K_FAN_DEFAULT_MULT;
> > > > 
> > > > +			if (i8k_get_fan_rpm(fan) > I8K_FAN_MAX_RPM) {
> > > > +				i8k_fan_mult[fan] = 1;
> > > > +				continue;
> > > > +			}
> > > > 
> > > >  			for (val = 0; val < 256; ++val) {
> > > >  			
> > > >  				ret = i8k_get_fan_nominal_rpm(fan, val);
> > > >  				if (ret > I8K_FAN_MAX_RPM) {
> > > 
> > > Hi,
> > > 
> > > I'm sorry for replying only now, but I couldn't follow this
> > > thread closely and I'm a bit lost now. I haven't tested the
> > > suggested change, but I don't think it would work in a
> > > reliable way. It's not rare for the fan to be completely
> > > stopped, especially on boot. You are right though, 1 is the
> > > right multiplier.
> > 
> > I took a better look at the code and my laptop is indeed able
> > to report the nominal speed. The problem with the original
> > patch was that the first call of i8k_get_fan_nominal_rpm()
> > correctly returned -22 (the fan doesn't exist) and the loop
> > was terminated because of that. I tested the following patch
> > http://www.spinics.net/lists/kernel/msg1892101.html and the
> > fan multiplier auto detection worked.
> > 
> > I confirm that the suggested change in case the nominal speed
> > can't be retrieved is not OK as its outcome depends on the
> > current state of the fans.
> > 
> > > Guenter, while I was trying to catch up, I noticed that the
> > > support for the XPS 13 [1] will be added. May I ask you
> > > which revision of the laptop was tested? I own the 9333 one
> > > and I'm not sure that having i8k automatically loaded is a
> > > good idea. The reason is that reading and setting the speed
> > > of the right (and only) fan causes a freeze of the laptop
> > > of some milliseconds, enough to be annoying and noticeable.
> > > I'm worried of the effect this might have in the everyday
> > > use, users might start noticing random freezes because of
> > > one application that all the sudden is able to read the
> > > speed of the fan. I don't if the same happens on all the
> > > other Dell systems, this is the first and only Dell laptop
> > > I owned.
> > > 
> > > If the tested laptop wasn't the XPS13 9333 and this problem
> > > does not exists, would it be possible to make the
> > > DMI_PRODUCT_NAME string such that it matches only the
> > > tested revision? The string that identifies my laptop is
> > > "XPS13 9333".
> > > 

I am several thousand miles away from the XPS13 right now, so I can not check
it. As far as I recall, it was a 9333.

> > > Gabriele
> > > 
> > > [1] http://www.spinics.net/lists/kernel/msg1878801.html
> > 
> > I modified i8k so that it prints the time required to execute
> > the assembly code in i8k_smm(). Here what I got:
> > 
> > [ 4697.485130] i8k_smm asm: 1965800 ns    #pwm1
> > [ 4697.487383] i8k_smm asm: 1375057 ns    #temp3_input
> > [ 4697.489477] i8k_smm asm: 1112493 ns    #temp3_label
> > [ 4697.991687] i8k_smm asm: 500796086 ns  #fan1_input
> > [ 4697.998245] i8k_smm asm: 1957365 ns    #fan1_label
> > [ 4698.009190] i8k_smm asm: 1770247 ns    #temp1_input
> > [ 4698.014416] i8k_smm asm: 749734 ns     #temp1_label
> > [ 4698.019103] i8k_smm asm: 2503962 ns    #temp2_input
> > [ 4698.023490] i8k_smm asm: 1738982 ns    #temp2_label
> > 
> > As you can see, the time required to read the speed of the fan
> > is substantially higher than the combined time of all the
> > other reads.
> > 
> > Is the difference so big for the other systems that have been
> > tested?
> 
> It looks like we should not read fan rpm at startup for 
> multiplier autodetection... and only fan nominal speed.
> 
Yes, agreed. After all, we still have the module parameter to override it
if reading the nominal speed (and thus auto-detection) is not successful.

Guenter

  reply	other threads:[~2014-12-28  8:28 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-09 20:06 [PATCH 0/3] i8k: Rework fan_mult and fan_max code Pali Rohár
2014-12-09 20:06 ` [PATCH 1/3] i8k: cosmetic: distinguish between fan speed and fan rpm Pali Rohár
2014-12-09 20:23   ` Guenter Roeck
2014-12-09 20:39     ` Pali Rohár
2014-12-09 22:49       ` Guenter Roeck
2014-12-09 20:07 ` [PATCH 2/3] i8k: Autodetect maximal fan speed and fan RPM multiplier Pali Rohár
2014-12-09 20:20   ` Guenter Roeck
2014-12-09 20:23     ` Pali Rohár
2014-12-09 22:42       ` Guenter Roeck
2014-12-10 11:50         ` Pali Rohár
2014-12-10 14:08           ` Guenter Roeck
2014-12-18 11:13             ` Pali Rohár
2014-12-19 18:33               ` Guenter Roeck
2014-12-09 20:07 ` [PATCH 3/3] i8k: Remove laptop specific config data (fan_mult, fan_max) from driver Pali Rohár
2014-12-10 11:51   ` Pali Rohár
2014-12-10 13:32     ` Gabriele Mazzotta
2014-12-18 11:08       ` Pali Rohár
2014-12-18 15:08         ` Valdis.Kletnieks
2014-12-18 16:34           ` Pali Rohár
2014-12-18 16:44             ` Valdis.Kletnieks
2014-12-25 21:54         ` Gabriele Mazzotta
2014-12-27 14:13           ` Gabriele Mazzotta
2014-12-28  8:22             ` Pali Rohár
2014-12-28  8:28               ` Guenter Roeck [this message]
2014-12-28  8:46                 ` Pali Rohár
2014-12-28 15:25                   ` Gabriele Mazzotta
2014-12-28 15:48                     ` Pali Rohár
2014-12-28 16:02                       ` Gabriele Mazzotta
2014-12-28 16:07                         ` Pali Rohár
2014-12-28 16:17                           ` Gabriele Mazzotta
2014-12-29 12:22                             ` Pali Rohár
2014-12-29 12:50                               ` Gabriele Mazzotta
2014-12-30  7:35                                 ` Guenter Roeck
2014-12-17 17:54     ` Pali Rohár
2014-12-17 18:20       ` Steven Honeyman
2014-12-18  9:02         ` Valdis.Kletnieks
2014-12-18 11:11         ` Pali Rohár
2014-12-10 13:41   ` Gabriele Mazzotta
2014-12-19 18:04 ` [PATCH v2 1/2] i8k: Autodetect maximal fan speed and fan RPM multiplier Pali Rohár
2014-12-19 18:32   ` Guenter Roeck
2014-12-19 18:51     ` Pali Rohár
2014-12-19 19:28       ` Guenter Roeck
2014-12-20  8:57         ` Pali Rohár
2014-12-20 12:04           ` Guenter Roeck
2014-12-20 12:18             ` Pali Rohár
2014-12-20 12:44               ` Guenter Roeck
2014-12-20 12:54                 ` Pali Rohár
2014-12-20 17:20                   ` Guenter Roeck
2014-12-20 17:27                     ` Steven Honeyman
2014-12-20 18:07                       ` Guenter Roeck
2014-12-21  9:06                         ` Pali Rohár
2014-12-20 18:38   ` Guenter Roeck
2014-12-21  9:13     ` Pali Rohár
2014-12-21 11:47       ` Guenter Roeck
2014-12-20 19:02   ` Guenter Roeck
2014-12-21  9:15     ` Pali Rohár
2014-12-21  9:20   ` [PATCH v3] " Pali Rohár
2014-12-21 11:57     ` Guenter Roeck
2014-12-21 12:09       ` Pali Rohár
2014-12-21 12:23         ` Guenter Roeck
2014-12-21 16:37           ` Pali Rohár
2014-12-21 16:55             ` Steven Honeyman
2014-12-21 17:25               ` Pali Rohár
2014-12-21 17:23     ` [PATCH v4] " Pali Rohár
2014-12-21 18:27       ` Guenter Roeck
2014-12-21 18:40         ` Pali Rohár
2014-12-21 18:51           ` Guenter Roeck
2014-12-21 19:56             ` Pali Rohár
2014-12-21 19:51       ` Guenter Roeck
2014-12-22 15:07         ` Pali Rohár
2014-12-23 13:52           ` Guenter Roeck
2014-12-23 19:11             ` Pali Rohár
2014-12-19 18:04 ` [PATCH v2 2/2] i8k: Remove DMI config data for Latitude E6x40 Pali Rohár

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=20141228082820.GB31346@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=arnd@arndb.de \
    --cc=gabriele.mzt@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jdelvare@suse.de \
    --cc=jochen@penguin-breeder.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pali.rohar@gmail.com \
    --cc=stevenhoneyman@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).