Aumentando o valor de sched_latency_ns e sched_min_granularity_ns

4

Por que recebo uma mensagem de erro quando tento aumentar os valores desses dois parâmetros:

#cat /proc/sys/kernel/sched_latency_ns
1000000000
#echo 2000000000 > /proc/sys/kernel/sched_latency_ns
bash: echo: write error: Invalid argument
#

Eu recebo o mesmo erro quando substituo sched_latency_ns por sched_min_granularity_ns.

Alguém pode me dizer a maneira correta de aumentar esses parâmetros?

    
por Prasoon Tiwari 26.12.2012 / 14:25

1 resposta

4

Um segundo é o valor máximo absoluto aceito para essa configuração. Valores acima de 1000000000 não são válidos (o número de nanossegundos em um segundo).

Veja o código fonte do kernel

262 static int max_sched_granularity_ns = NSEC_PER_SEC;     /* 1 second */

e

linha 294

294         {
295                 .procname       = "sched_latency_ns",
296                 .data           = &sysctl_sched_latency,
297                 .maxlen         = sizeof(unsigned int),
298                 .mode           = 0644,
299                 .proc_handler   = sched_proc_update_handler,
300                 .extra1         = &min_sched_granularity_ns,
301                 .extra2         = &max_sched_granularity_ns,
302         },

Valores maiores e maiores diminuem o desempenho. Valores excessivamente altos podem causar problemas. Um segundo já é uma configuração extremamente alta.

    
por 24.05.2013 / 21:47