acct_get_usage-Kernel-Service
Zweck
Ermöglicht Kernelerweiterungen, die Ressourcenauslastung von Transaktionen zu messen
Syntax
#include <sys/types.h>
#include <sys/aacct.h>
unsigned long long acct_get_usage(usage)
struct tusage *usage;
Parameter
| Element | Beschreibung |
|---|---|
| Syntax | Ressourcenauslastungsstruktur. |
Beschreibung
Diese Routine wird verwendet, um die Ressourcenauslastung einer Clienttransaktion zu messen, sodass die Kosten der Transaktion in den Abrechnungsdatensatz eingeschlossen werden, der die Clienttransaktion identifiziert. Dieser Abrechnungsdatensatz wird dann für Rückverrechnungszwecke verwendet.
Der Verwendung von 'acct_get_usage' -Kernel-Service ist so konzipiert, dass er zweimal aufgerufen wird: einmal am Anfang einer Transaktion und ein zweites Mal am Ende einer Transaktion. Bei jedem Aufruf der Routine wird die Ressourcenauslastung für den aufrufenden Thread nach der Erstellung mit dem Parameter Nutzung zurückgegeben. Daher kann diese Routine mehrmals aufgerufen werden, um die Ressourcenauslastung eines Codefragments durch Subtraktion von Start-und Endwerten zu ermitteln.
- TUSAGE_ZERO (TU)
- Initialisiert die TUsage -Struktur
- TUSAGE_ADD (TU1, TU2)
- Fügt TUsage -Struktur hinzu (T1 = T1 + T2).
- TUSAGE_SUB (TU1, TU2)
- Subtrahiert TUsage Strukturen (T1 = T1 - T2)
Der Parameter Nutzung stellt threadspezifische Informationen bereit, sodass der Aufrufende sicherstellen muss, dass diese Routine aus demselben Threadkontext aufgerufen wird, wenn die Nutzung einer Transaktion gemessen wird. Der Rückgabewert gibt den Kontext des aufrufenden Threads an.
Der Kernel-Service Verwendung von 'acct_get_usage' gibt ein Token zurück, das den aufrufenden Kontext identifiziert. Dieses Token kann logisch mit anderen von dieser Routine zurückgegebenen Tokens verglichen werden, um sicherzustellen, dass Start-und Stoppaufrufe von demselben Thread ausgeführt wurden. Der Geltungsbereich des Tokens hängt vom Kontext des aufrufenden Programms ab. Wenn diese Routine unter einem pthread aufgerufen wird, gibt sie ein Token zurück, das den momentan ausgeführten pthread darstellt. Andernfalls gibt der Verwendung von 'acct_get_usage' -Kernel-Service ein Token zurück, das den aktuell ausgeführten Kernel-Thread darstellt. Im ersten Fall hat das Token einen prozessweiten Geltungsbereich. Im zweiten Fall hat das Token einen systemweiten Geltungsbereich.
Ausführungsumgebung
Der Kernel-Service Verwendung von 'acct_get_usage' kann nur über die Prozessumgebungaufgerufen werden.
Rückgabewerte
Nach erfolgreicher Beendigung gibt der Verwendung von 'acct_get_usage' -Kernel-Service ein Token zurück, das den Kontext des aufrufenden Threads angibt.