Como saber se um dispositivo de bloco precisa de liberações de cache

1

Eu quero saber se um determinado dispositivo de bloco reivindica a necessidade de liberações de cache.

Do xfs faq ( ênfase meu ):

Q. Should barriers be enabled with storage which has a persistent write cache?

Many hardware RAIDs have a persistent write cache which is preserved across power failure, interface resets, system crashes, etc. The same may be true of some SSD devices. This sort of hardware should report to the operating system that no flushes are required, and in that case barriers will not be issued, even without the "nobarrier" option. Quoting Christoph Hellwig on the xfs list,

If the device does not need cache flushes it should not report requiring flushes, in which case nobarrier will be a noop. Or to phrase it differently: If nobarrier makes a difference skipping it is not safe.

     

Em kernels modernos com hardware que relata corretamente o cache de gravação   comportamento, não há necessidade de alterar as opções de barreira no momento da montagem.

Eu sei que meu dispositivo não precisa de liberações de cache, mas quero verificar se ele está relatando corretamente isso para o kernel.

Como posso saber se um determinado dispositivo de bloco informa que precisa de liberações de cache? Eu encontrei isso em / sys:

root@diamond:/# cat /sys/block/sdb/device/scsi_disk/0\:0\:1\:0/cache_type
write through

Mas não sei o que isso significa neste contexto.

Versões:

  • Linux 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU / Linux
por Wayne Conrad 07.07.2016 / 23:13

1 resposta

1

Sim, o conteúdo do arquivo / sys / block / xxx / queue / cache_type é como você pode saber se um dispositivo precisa de liberações de cache ou não. De Documentation / block / queue-sysfs.txt no Fonte do kernel Linux:

write_cache (RW)
----------------
When read, this file will display whether the device has write back
caching enabled or not. It will return "write back" for
the former case, and "write through" for the latter. Writing to this
file can change the kernels view of the device, but it doesn't alter
the device state. This means that it might not be safe to toggle the
setting from "write back" to "write through", since that will also
eliminate cache flushes issued by the kernel.
  • Se o conteúdo deste arquivo for "write through", o dispositivo afirma que não requer liberações de cache.

  • Se o conteúdo desse arquivo for "write back", o dispositivo afirma que ele requer liberações de cache.

por 07.07.2016 / 23:22