Der Google-Ingenieur Qais Yousef hat am Sonntag einen Patch veröffentlicht, der vorschlägt, die Standard-Timer-Frequenz des Linux-Kernels von 250 Hz auf 1000 Hz zu erhöhen. Der Google-Ingenieur ist der Ansicht, dass die aktuelle Standardfrequenz des Linux-Kernels zu Problemen bei Planungsentscheidungen führen kann, wie z. B. ungenauen Zeitscheiben, Verzögerungen beim Lastausgleich, Verzögerungen bei der Aktualisierung von Statistiken und anderen damit zusammenhängenden Problemen. QaisYousef glaubt, dass es für den Kernel besser ist, eine Standardfrequenz von 1000 Hz zu übernehmen:

„Eine gängige Bildschirmkonfiguration wie bei Android- und Desktop-Systemen ist 120 Hz. Dadurch hat die Aufgabe 8 ms Zeit, an der sie arbeiten kann. 4 ms ist die Hälfte dieser Zeit, wodurch die Last, sehr gute Entscheidungen beim Aufwecken zu treffen, schwerer als nötig ist. Außerdem wird es schwieriger, das System effizient zu nutzen, um eine optimale Leistung/Watt aufrechtzuerhalten. Beispielsweise versuchen wir, den DVFS-Headroom als Funktion von TICK zu definieren, da er das Worst-Case-Szenario für die Aktualisierung von Statistiken definiert. Ein größerer TICK bedeutet, dass wir die Frequenz erhöhen müssen zu aggressiv, wenn wir sicherstellen wollen, dass die Leistung nicht beeinträchtigt wird, aber wenn die Aufgabe nicht alle Fragmente erschöpft, verlieren wir die Möglichkeit, eine niedrigere Frequenz zu verwenden und Strom zu sparen.

Im Allgemeinen werden die Fristen für die Arbeitslast kürzer, und dies gilt nicht nur für die UI-Pipeline.

Ich glaube, HZ_250 ist die Standardeinstellung als Kompromiss für die Batterieleistung bei Geräten, die möglicherweise keine häufigen TICKS mögen, die die Batterie unnötig entladen könnten. Aber soweit ich weiß, sollte der aktuelle NOHZ-Status ausreichen, um diese Bedenken auszuräumen. Die kürzliche Hinzufügung von RCU_LAZY trägt außerdem dazu bei, längere TICKs in Leerlaufszenarien aufrechtzuerhalten.

Saravana hat mich darauf hingewiesen, dass ein längerer TICK indirekt den Zusammenhalt des Timers unterstützt, was bedeutet, dass er Probleme mit Treibern/Aufgaben maskieren kann, die eine häufige Zeitsteuerung erfordern, und so den Eintritt in tiefere Ruhezustände verhindert (bei vielen Systemen ist 4 ms ein höherer Wert, der den Eintritt in tiefere Ruhezustände ermöglicht). Es könnte aber auch argumentiert werden, dass dies das Problem dieser Treiber/Aufgaben ist.

Ein schnellerer TICK kann immer noch zu einer höheren Leistung führen, jedoch nicht aufgrund der TICK-Aktivität. Das System reagiert (erwartungsgemäß) schneller und die Verweilzeiten bei höheren Frequenzen sind voraussichtlich höher, da sie versehentlich bei niedrigeren Frequenzen hängen bleiben. Die Serie in [1] versucht, die Handhabung der Reaktionsgeschwindigkeit durch den Planer zu verbessern und Benutzern/Anwendungen Möglichkeiten zu bieten, ihre Bedürfnisse besser zu erfüllen, einschließlich der Möglichkeit, sich für eine angemessene Antwort zu entscheiden (in der obigen Serie ist ramup_multiplier 0).

Die Häufigkeit des Linux-Kernel-Timers ist seit langem Gegenstand von Debatten und unterschiedlichen Meinungen. Aber jetzt beträgt die Kern-Standardfrequenz 1000 Hz statt 250 Hz, was logisch erscheint.

Ein Patch zur Änderung der Standardfrequenz wird jetzt zur Überprüfung/Diskussion eingereicht.