GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man NCQ unter Linux (wirklich) deaktiviert

Dank @frostschutz konnte ich die Schreibleistung unter Linux ohne NCQ-Feature messen. Der Kernel-Boot-Parameter libata.force=noncq NCQ vollständig deaktiviert.

In Bezug auf mein Problem mit der Schreibleistung von Seagate 6 TB gab es keine Änderung der Geschwindigkeit. Linux erreicht immer noch 180 MiB/s.

Aber dann hatte ich eine andere Idee:
Der Linux-Treiber verwendet keine Übertragungen von 32-MiB-Blöcken. Der Kernelpuffer ist viel kleiner, insbesondere wenn NCQ mit 32 Warteschlangen aktiviert ist (32 Warteschlangen * 32 MiB => 1 GiB AHCI-Puffer).

Also habe ich meinen SATA-Controller mit 256 KiB Transfers getestet und voilà, es ist möglich, 185 MiB/s zu erreichen.

Ich denke also, dass die Seagate ST6000AS0002-Firmware nicht in der Lage ist, große ATA-Burst-Übertragungen zu verarbeiten. Der ATA-Standard erlaubt bis zu 65.536 logische Blöcke, was 32 MiB entspricht.

SMR – Shingled Magnetic Recording

Eine weitere Möglichkeit für die schlechte Schreibleistung könnte die magnetische Magnetaufzeichnungstechnik sein, die von Seagate in diesen Archivgeräten verwendet wird. Offensichtlich habe ich mit meiner FPGA-Implementierung einen seltenen Effekt ausgelöst.


Festlegen der Warteschlangentiefe auf 1 (/sys/block/sd*/device/queue_depth ) NCQ deaktiviert, ist es nicht notwendig, den Kernelparameter libata.force=noncq zu verwenden (kann nur beim Booten eingestellt werden).

Begehen Sie 360f654e7cda850034f3f6252a7a7cff3fa77356

 Date:   Sat Sep 30 19:45:00 2006 +0900

 [PATCH] libata: turn off NCQ if queue depth is adjusted to 1
 
 Turn off NCQ if queue depth is adjusted to 1.

Linux
  1. So blockieren oder deaktivieren Sie normale Benutzeranmeldungen in Linux

  2. So ändern, entfernen oder deaktivieren Sie das Benutzerkennwort in Linux

  3. So deaktivieren Sie die Firewall unter CentOS 8 Linux

  4. UNIX / Linux :So sperren oder deaktivieren Sie ein Benutzerkonto

  5. So deaktivieren Sie einen bestimmten Befehl für einen bestimmten Benutzer in Linux

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

So deaktivieren Sie IPv6 unter Ubuntu Linux

So deaktivieren Sie Swap dauerhaft unter Linux

So deaktivieren Sie Swap unter Linux

So deaktivieren Sie die Überprüfung des SSH-Hostschlüssels in Linux

So deaktivieren Sie die Tastenkombination Strg+Q in Firefox unter Linux