cpupower e libcpupower

1

o cpupower falha em algum momento para executar este erro:

cpupower: error while loading shared libraries: libcpupower.so.0: cannot open shared object file: No such file or directory

Eu compilei e instalei a última ferramenta cpower de fontes na minha estação de trabalho.

O comando makefile install instala as bibliotecas em / usr / local / lib e meu LD_LIBRARY_PATH está configurado de acordo:

syl@WorkStation-T3500:~$ echo $LD_LIBRARY_PATH 
:/usr/local/lib/

lrwxrwxrwx  1 root root     20 juin  26 11:46 libcpupower.so -> libcpupower.so.0.0.1
lrwxrwxrwx  1 root root     20 juin  26 11:46 libcpupower.so.0 -> libcpupower.so.0.0.1

-rwxr-xr-x 1 raiz raiz 77048 juin 26 11:46 libcpupower.so.0.0.1 l

Uma consulta simples de informações sobre o cpower funciona bem:

syl@WorkStation-T3500:~$ cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency:  Cannot determine or is not supported.
hardware limits: 1.20 GHz - 3.20 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 1.20 GHz and 3.20 GHz.
              The governor "powersave" may decide which speed to use
              within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 1.20 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes

No entanto, aqui está o que acontece quando tento definir alguma política:

syl@WorkStation-T3500:~$ sudo cpupower frequency-set --governor userspace
cpupower: error while loading shared libraries: libcpupower.so.0: cannot open shared object file: No such file or directory

Posso lhe fazer algumas dicas sobre esse estranho problema?

Tudo de bom

Sylvain

    
por Sylvain Rousseau 26.06.2018 / 12:08

2 respostas

0

Descobri que a inicialização adequada do LD_LIBRARY_PATH não é suficiente, eu tive que adicionar o caminho da lib em /etc/ld.so.conf.d/x86_64-linux-gnu.conf:

syl@WorkStation-T3500:~$ sudo vim /etc/ld.so.conf.d/x86_64-linux-gnu.conf

# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/loca/lib/

Então:

syl@WorkStation-T3500:~$ sudo ldconfig

O que faz a coisa funcionar, mas não consigo entender isso:

 syl@WorkStation-T3500:~$ sudo cpupower frequency-set --governor userspace Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
for example because of hardware which cannot be set to a specific frequency or because the userspace governor isn't loaded?

Ok, nada resta exceto entender por que este comando não está operacional ...

Felicidades!

Sylvain

    
por 26.06.2018 / 12:38
0

O controlador intel_pstate aceita apenas powersave ou performance governors de políticas, não userspace . Esta restrição é aplicada no arquivo <kernel source>/drivers/cpufreq/intel_pstate.c , pela função intel_pstate_verify_policy :

static int intel_pstate_verify_policy(struct cpufreq_policy *policy)
{
        struct cpudata *cpu = all_cpu_data[policy->cpu];

        update_turbo_state();
        cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
                                     intel_pstate_get_max_freq(cpu));

        if (policy->policy != CPUFREQ_POLICY_POWERSAVE &&
            policy->policy != CPUFREQ_POLICY_PERFORMANCE)
                return -EINVAL;

        intel_pstate_adjust_policy_max(policy, cpu);

        return 0;
}

Se você realmente precisar usar o userspace governor, precisará alternar para outro driver CPUFreq. Veja esta pergunta para mais detalhes.

    
por 26.06.2018 / 13:17