Artikel-ID: 000059658 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 23.07.2021

Undefiniertes Verhalten, wenn die Anzahl der Anwendungsthreads "TCS_NUM" in der Intel® Software Guard Extensions (Intel® SGX) Enklaven-Konfigurationsdatei übersteigt

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

Wie "TCS_NUM" die maximale Anzahl von Threads in einer Intel® SGX bestimmt

Beschreibung
  • Setzen TCS_NUM auf 10 und TCS_POLICY in der Enklave-Konfigurationsdatei auf 1.
  • Ausgeführte Anwendung mit mehr als 10 Threads.
  • Die Anwendung funktionierte nicht gut und es zeigten Sich-Themen.
  • Die Anwendung wurde nach der Einstellung von TCS_NUM, die auf die Anzahl der Threads abgestimmt ist, gut ausgeführt.
Lösung

TCS_NUM bezeichnet die Anzahl der Thread-Steuerungsstrukturen (TCS), die für die Enklave zu zuweisen sind.

From Intel SGX Explained:Die SGX-Implementierung verwendet eine Thread-Steuerungsstruktur (TCS) für jeden logischen Prozessor, der den Code einer Enklave führt. Der Autor einer Enklave muss also mindestens so viele TCS-Instanzen bereitstellen wie die maximale Anzahl gleichzeitiger Threads, die die Enklave unterstützen soll.

Ein TCS besteht aus einem Einstiegspunkt und einem Pointer auf den State Save Area und andere Funktionen. Der Abschnitt Thread-Steuerungsstruktur im Software Development Manual von Intel liefert Details zum Inhalt des TCS.

Wenn mehr Threads als die Anzahl der TCS vorhanden sind, wissen die Threads nicht, wie sie in die Enklave gelangen, weil die TCS nicht vorhanden sind.

Weitere Informationen

In der Thread-Bindungsrichtlinie finden Sie weitere Informationen zum TCS_POLICY.

TCS_NUM kann höher als die Anzahl der Prozessorkerne eingestellt werden. Das Betriebssystem verwaltet die Threadplanung.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.