Commit graph

239 commits

Author SHA1 Message Date
Andrew Gaul
07f19dea5f Add Travis configuration.
References #173.
2019-01-18 11:55:30 -08:00
Andrew Gaul
dd2c305593 Change default polling_interval to 1
This allows mbpfan to react more quickly to changing workloads and
avoid CPU throttling.  Also change unit test expectations.
Fixes #159.
2019-01-18 11:34:07 -08:00
mikaelbjoern
50f3a67ab4 Add support for many processors (not just cores)
Add an outer loop in mbpfan.c:retrieve_sensors to loop over all coretemp
directories. Also increase hard-coded limits from 10 to 12 or 16 since
the temp endpoints are sometimes indexed that high.
    
For example, this is required for supporting a Mac Pro with two processors
of 16 cores, requiring
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp{1..12}
/sys/devices/platform/coretemp.1/hwmon/hwmon1/temp{1..12}
    
Fixes #152.
2019-01-18 11:26:11 -08:00
Andrew Gaul
c8f33ec055 Plug little leak
Found via Valgrind.
2019-01-15 15:44:54 -08:00
Ati Sharma
968133eb10 Add support for many processors (not just cores)
* Add support for many processors (not just cores)

Add an outer loop in mbpfan.c:retrieve_sensors to loop over all coretemp
directories. Also increase hard-coded limits from 10 to 12 or 16 since
the temp endpoints are sometimes indexed that high.

For example, this is required for supporting a Mac Pro with two processors
of 16 cores, requiring
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp{1..12}
/sys/devices/platform/coretemp.1/hwmon/hwmon1/temp{1..12}

This solves issue #152 "Mac pro with two processors".
2018-09-20 01:53:21 +05:30
Andrew Gaul
1716d9d877 Update unit tests for fan speed auto-detection
Fixes #164.  References #114.
2018-09-13 10:29:48 -07:00
Andrew Gaul
b0cdfd4c27 Propagate exit code from unit tests
Also flag errors more clearly.  References #164.
2018-09-13 10:06:52 -07:00
codutti
8db63a40af Removed autoconfig with suggested procedure because has been integrated on mbpfan. Commented auto detect values from config file. 2018-09-11 03:09:35 +05:30
faithful
87f3fc2c16 First spec attempt 2018-09-11 03:09:35 +05:30
Andrew Gaul
810adc671b Detect minimum and maximum fan speeds
Default to previous values if detection fails.  Configuration can
still override these values.  Fixes #114.
2018-08-29 00:07:34 +05:30
Andrew Gaul
4a3ea930ad Correctly detect legacy or modern sensors
Tighten check by looking for an actual sensor instead of a directory.
Fixes #162.  Fixes regression from
885a084f5c.
2018-08-23 19:39:02 -07:00
Andrew Gaul
d717ffb220 Add gaul to AUTHORS 2018-08-21 02:25:59 -07:00
Andrew Gaul
084b5c3cfa Improve capitalization, spelling, and whitespace 2018-08-20 22:18:55 -07:00
Andrew Gaul
e58a67f630 Avoid setting speed when already set to that speed 2018-08-21 04:08:47 +05:30
Andrew Gaul
ac099c8bd2 Report error when failing to set fan speed
References #155.
2018-08-20 15:28:34 -07:00
Andrew Gaul
8c89a671e8 Address GCC 7 warnings 2018-08-20 15:19:26 -07:00
Andrew Gaul
ddc219746f Allow overriding CC with environment variable 2018-08-20 15:19:04 -07:00
Andrew Gaul
885a084f5c Correctly test sensor path for Linux prior to 3.15
Previously the fopen write mode caused the call to spuriously report
newer sensors.  Now we check the newer sensors path explicitly.  Also
plug file descriptor leak and more carefully check return values.
2018-08-21 03:41:42 +05:30
Andrew Gaul
ca52e9cefd Call nanosleep instead of sleep in polling loop
This avoids unnecessary rt_sigprocmask and rt_sigaction system calls.
2018-08-21 03:39:22 +05:30
Andrew Gaul
6aba92d649 Configure timer slack for 1 second
This allows the kernel scheduler to coalesce wakeups, improving
battery life.  Linux defaults to 50 ms slack.  Reference:

http://lwn.net/Articles/369549/
2018-08-21 03:37:52 +05:30
Andrew Gaul
e8850f682c Plug little leak from reused variable 2018-08-21 03:36:14 +05:30
Andrew Gaul
ce3218407f Check root privileges before running tests
References #155.
2018-08-21 03:35:27 +05:30
Peter Evjan
33e936300f Removed redundant systemd instructions
There were 3 sections giving advice on how to set up systemd. Removed
2 of them.

The first one under the Ubuntu header was incomplete, it didn't start
the service immediately. The 3rd one was already mentioned in the 2nd
section.
2018-08-21 02:04:29 +05:30
Daniel Graziotin
237eae73e8 Merge branch 'sasanj-mychanges' 2017-10-04 08:47:50 +00:00
Daniel Graziotin
72e457cd50 Merge branch 'mychanges' of git://github.com/sasanj/mbpfan into sasanj-mychanges 2017-10-04 08:47:16 +00:00
Daniel Graziotin
e0df856784 Merge branch 'gaul-warnings' 2017-10-04 08:41:52 +00:00
Daniel Graziotin
fcff5342d9 Merge branch 'warnings' of git://github.com/gaul/mbpfan into gaul-warnings 2017-10-04 08:38:42 +00:00
Daniel Graziotin
d6e4307919 Merge branch 'gaul-strings' 2017-10-04 08:33:15 +00:00
Daniel Graziotin
8130daa976 Merge branch 'strings' of git://github.com/gaul/mbpfan into gaul-strings 2017-10-04 08:31:12 +00:00
Daniel Graziotin
6486820199 Merge branch 'gaul-sigquit' 2017-10-04 08:28:17 +00:00
Daniel Graziotin
1da1639b3f Merge branch 'sigquit' of git://github.com/gaul/mbpfan into gaul-sigquit 2017-10-04 08:24:54 +00:00
Daniel Graziotin
a794a53f68 Merge branch 'gaul-double-free' 2017-10-04 08:23:15 +00:00
Daniel Graziotin
a00c5b7507 Merge branch 'double-free' of git://github.com/gaul/mbpfan into gaul-double-free 2017-10-04 08:19:32 +00:00
Andrew Gaul
650471a273 Clean up string creation via smprintf and strdup
This fixes some bugs when using the incorrect strlen in strncat.
2017-08-16 18:27:57 -07:00
sasan
e45a1d7bf0 add credits where due.
added credit for using Kristensson's settings managment library.
2017-08-14 18:02:12 +04:30
sasan
160d44cd17 remove "-v" flag from systemd service file.
It spams the syslog every time the daemon is waked up.
2017-08-14 17:38:29 +04:30
sasan
14ce4b859f add ".o" to object files 2017-08-14 16:12:47 +04:30
Daniel Graziotin
bd92a25b3d Merge pull request #134 from DougBeney/patch-1
TOC, coretemp/applesmc directions, Macbook support, Solus
2017-08-10 22:49:36 +02:00
Doug Beney
7297a18e1a TOC, coretemp/applesmc directions, Macbook support, Solus
I added a table of contents for easy navigation, added the directions you provided me on figuring out if my system has applesmc/coretemp installed, I added my Macbook to tested devices, and I added Solus to supported operating systems.
2017-08-10 15:46:56 -04:00
Andrew Gaul
8c2e11caae Enable -Wall and -Wextra 2017-07-21 18:21:15 -07:00
Andrew Gaul
cc970129fa Catch SIGQUIT
This resets automatic fan control.
2017-07-20 03:52:33 -07:00
Andrew Gaul
e95e19a3ea Avoid freeing static strings 2017-07-20 03:50:53 -07:00
Daniel Graziotin
f1bdb616cd Merge branch 'andrewgaul-reopen-fan' 2017-07-20 12:16:32 +02:00
Daniel Graziotin
b2cd98448f Merge branch 'reopen-fan' of git://github.com/andrewgaul/mbpfan into andrewgaul-reopen-fan 2017-07-20 12:06:28 +02:00
Daniel Graziotin
b39ed3a0db Merge branch 'andrewgaul-sigstop' 2017-07-20 09:36:36 +00:00
Daniel Graziotin
6c8dbec53f Merge branch 'sigstop' of git://github.com/andrewgaul/mbpfan into andrewgaul-sigstop 2017-07-20 09:34:59 +00:00
Daniel Graziotin
88a9ce1c2c Merge pull request #123 from andrewgaul/readme
Fix README nits
2017-07-20 09:30:14 +00:00
Daniel Graziotin
f3afd55720 Merge pull request #124 from andrewgaul/kernel-version
Correct kernel version message to >= 3.15.0
2017-07-20 09:29:33 +00:00
Daniel Graziotin
345b1d2fa1 Merge pull request #127 from andrewgaul/conditional
Rewrite confusing conditional
2017-07-20 09:28:33 +00:00
Andrew Gaul
399aad782a Do not repeatedly reopen fan and sensor devices
This avoids unnecessary system calls and saves battery.
2017-07-14 21:56:05 -07:00