Desativando o DMA no Linux ainda suportado

1

Tentando desativar o DMA na minha máquina Linux, retorna:

HDIO_GET_DMA failed: Inappropriate ioctl for device

Lembro-me de que isso costumava funcionar para ativar ou desativar o DMA. Eu também tentei usar o parâmetro do kernel libata.dma=0 mas não teve efeito! O driver ATA e DMA parecem funcionar bem no entanto. Então eu apenas me pergunto o tempo que eu deveria me preocupar com isso ou simplesmente não é mais suportado.

A distro é o Ubuntu 12 e o kernel é 3.5.0-54-genérico. O chipset é

00: 1f.2 Controlador SATA: Família Intel 7 Series / Série C210 Família de chipsets Controlador SATA de 6 portas [modo AHCI] (rev 04)

    
por Nils 22.06.2015 / 15:48

1 resposta

2

HDIO_*_DMA não são suportados pela libata.

Veja o link :

Older, unsupported ioctls

Why does HDIO_SET_DMA fail? I want to use DMA! Why does HDIO_SET_UNMASKINTR fail?

libata intentionally does not support all the HDIO_xxx ioctls that were supported by the older IDE driver. It is now preferred to use SG_IO as a generalized ATA command submission method, rather than creating a myriad of ioctls for each specific purpose.

The design decision was made only to support the HDIO_xxx ioctls that were heavily used by other programs. Generally the driver always programs the hardware to its maximum capability automatically, completely without user intervention. Therefore, for example, HDIO_SET_DMA is not needed for the vast majority of users because DMA is automatically enabled and used where available.

    
por 22.06.2015 / 16:01

Tags