Stronger laptop_mode no Linux

6

Posso ter um modo de laptop mais strong no Linux?

Desejo girar o disco rígido e impedi-lo de girar, mesmo que algo queira ler algo que não esteja no cache. Em geral, quero ter esses modos:

  1. Normal
  2. Modo de laptop atual
  3. Modo de laptop mais strong: gire somente quando precisar ler algo não armazenado em cache (e armazená-lo em cache). Nenhum spin-up para escrever algo a menos que a pressão da memória seja realmente (Exceção: comando explícito "sync" no console). O kernel tem permissão para manter processos em D-sleep por 10 segundos para isso.
  4. Modo de laptop forçado: não gire para cima, ponto final. Mantenha processos ofensivos em D-sleep, a menos que eu desligue este modo. Como se houvesse uma bomba em vez de disco rígido.

Também quero ter os tempos de acesso rastreados (mount -o atime), mas não quero que o disco rígido seja criado apenas para atualizá-los.

Existem algumas configurações ou patches de kernel que podem se aproximar disso?

Pode ser que eu deva escrever um programador io especial para o "modo laptop forçado"? Por exemplo. echo suspend > /sys/block/sda/queue/scheduler para bloquear a unidade e echo cfq > /sys/block/sda/queue/scheduler para desbloqueá-la novamente?

    
por Vi. 16.03.2010 / 02:43

1 resposta

1

Codificou rapidamente o "modo de laptop forçado" como programador io. Testado primeiro na UML, depois no meu laptop, mesmo sem reiniciar.

link

Quando emito echo hung > /sys/block/sda/queue/scheduler , seguido por hdparm -y /dev/sda , o disco rígido pára e não é retomado.

Quando preciso ler algo que acabei de fazer " echo cfq > /sys/block/sda/queue/scheduler .

Também posso ver quais processos estão querendo causar spinup (eles estão dormindo). reiserfs e pdflush ficam suspensos. Então syslogd.

Para evitar tentativas de sincronização, desativo temporariamente as sincronizações echo 0 > /proc/sys/fs/sync-enable . Deve ser mais ou menos seguro, dado que o disco rígido já está trancado. Isso é fornecido pelo link .

    
por 17.03.2010 / 23:19