Aparentemente, isso pode ser feito jogando com os jiffies no kernel, adicionando uma taxa de aumento de velocidade. Existe um documento com um apresentação sobre um teste rápido de 10 anos . Tudo se resume a isto:
Adicione um parâmetro ao Kconfig (SPEEDUP_RATIO, ~ 1-1000), modifique do_timer ():
void do_timer(...) {
jiffies_64 = jiffies_64 + speedup_ratio;
}
Finalmente, controle a taxa via procfs ( echo 100 > /proc/accel
). Então ele teve muitos timeouts no boot e teve que ajustar todos os timeouts no kernel (timeout * speedup_ratio). Ele diz que a maioria desses valores pode ser encontrada com grep jiffies
, mas o "mais" significa que pode envolver alguma tentativa e erro.
Além disso, de acordo com man 7 time
: "O tamanho de um instante é determinado pelo valor da constante do kernel HZ". É configurável, mas só aceita os valores 100, 250, 300 e 1000.
EDITAR : Se os saltos no tempo forem aceitáveis, libfaketime pode ser uma alternativa muito mais simples. Mas eu não sei como o software de log lidará com isso.