raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=bdbd0f47530beecb01bfd49733a43a6405dfe514

commit bdbd0f47530beecb01bfd49733a43a6405dfe514
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Sun Dec 4 22:39:29 2016 +0900

    e cpufreq - dont emit message for min/max/cur freq if they didnt change
    
    saves some cpu when idile and polling cpu fre and finding nothing
    changed.
    
    @optimize
---
 src/modules/cpufreq/e_mod_main.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
index 685b85e..24a9003 100644
--- a/src/modules/cpufreq/e_mod_main.c
+++ b/src/modules/cpufreq/e_mod_main.c
@@ -1300,6 +1300,7 @@ _cpufreq_cb_frequency_check_notify(void *data EINA_UNUSED,
    Eina_List *l;
    int active;
    static Eina_Bool init_set = EINA_FALSE;
+   Eina_Bool freq_changed = EINA_FALSE;
 
    if (!cpufreq_config)
      {
@@ -1307,12 +1308,25 @@ _cpufreq_cb_frequency_check_notify(void *data 
EINA_UNUSED,
         return;
      }
    active = cpufreq_config->status->active;
+   if ((cpufreq_config->status) && (status) &&
+       (
+#ifdef __OpenBSD__
+        (status->cur_percent       != cpufreq_config->status->cur_percent      
) ||
+#endif
+        (status->cur_frequency     != cpufreq_config->status->cur_frequency    
) ||
+        (status->cur_min_frequency != 
cpufreq_config->status->cur_min_frequency) ||
+        (status->cur_max_frequency != 
cpufreq_config->status->cur_max_frequency) ||
+        (status->can_set_frequency != 
cpufreq_config->status->can_set_frequency)))
+     freq_changed = EINA_TRUE;
    _cpufreq_status_free(cpufreq_config->status);
    cpufreq_config->status = status;
-   for (l = cpufreq_config->instances; l; l = l->next)
+   if (freq_changed)
      {
-        inst = l->data;
-        _cpufreq_face_update_current(inst);
+        for (l = cpufreq_config->instances; l; l = l->next)
+          {
+             inst = l->data;
+             _cpufreq_face_update_current(inst);
+          }
      }
    if (active != cpufreq_config->status->active)
      {

-- 


Reply via email to