Als «linux-kernel» getaggte Fragen

Dieses Tag ist für Fragen zu den Interna des Linux-Kernels selbst gedacht - insbesondere zum Schreiben von Code, der im Kontext des Kernels ausgeführt wird (wie Kernelmodule oder Treiber). Fragen zum Schreiben von Userspace-Code unter Linux sollten im Allgemeinen stattdessen mit [Linux] gekennzeichnet werden. Da sich die Interna des Linux-Kernels ständig ändern, ist es hilfreich, die genauen Kernel-Versionen anzugeben, an denen Sie interessiert sind.

5
Was ist ":-!!" in C-Code?
Ich bin auf diesen seltsamen Makrocode in /usr/include/linux/kernel.h gestoßen : /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define …
1665 c  linux  macros  linux-kernel 

10
Wie funktionieren die wahrscheinlichen / unwahrscheinlichen Makros im Linux-Kernel und welchen Nutzen haben sie?
Ich habe einige Teile des Linux-Kernels durchsucht und Aufrufe wie diesen gefunden: if (unlikely(fd < 0)) { /* Do something */ } oder if (likely(!err)) { /* Do something */ } Ich habe die Definition von ihnen gefunden: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Ich weiß, dass sie zur Optimierung …

11
Ist bool ein nativer C-Typ?
Ich habe festgestellt, dass der Linux-Kernel-Code Bool verwendet, aber ich dachte, dass Bool ein C ++ - Typ ist. Ist bool eine Standard-C-Erweiterung (z. B. ISO C90) oder eine GCC-Erweiterung?
265 c  gcc  linux-kernel  boolean 


3
Was ist die theoretische maximale Anzahl offener TCP-Verbindungen, die eine moderne Linux-Box haben kann?
Kann eine Linux-Box unter der Annahme einer unendlichen Leistung der Hardware> 65536 offene TCP-Verbindungen unterstützen? Ich verstehe, dass die Anzahl der kurzlebigen Ports (<65536) die Anzahl der Verbindungen von einer lokalen IP zu einem Port auf einer Remote-IP begrenzt. Das Tupel (lokale IP, lokaler Port, Remote-IP, Remote-Port) definiert eine TCP-Verbindung …

4
Erhöhen der maximalen Anzahl von TCP / IP-Verbindungen unter Linux
Ich programmiere einen Server und es scheint, dass meine Anzahl von Verbindungen begrenzt ist, da meine Bandbreite nicht gesättigt ist, selbst wenn ich die Anzahl von Verbindungen auf "unbegrenzt" eingestellt habe. Wie kann ich die maximale Anzahl von Verbindungen erhöhen oder beseitigen, die meine Ubuntu Linux-Box gleichzeitig öffnen kann? Beschränkt …


4
Finden, welcher Prozess von Linux OOM Killer getötet wurde
Wenn Linux nicht mehr über genügend Arbeitsspeicher (OOM) verfügt, wählt der OOM-Killer einen zu tötenden Prozess basierend auf einigen Heuristiken aus (eine interessante Lektüre: http://lwn.net/Articles/317814/ ). Wie kann man programmgesteuert feststellen, welche Prozesse kürzlich vom OOM-Killer getötet wurden?

2
Zeit unter Linux messen - Zeit gegen Uhr gegen getrusage gegen clock_gettime gegen gettimeofday gegen timespec_get?
Zu den Zeitfunktionen, time, clock getrusage, clock_gettime, gettimeofdayund timespec_get, mag ich klar verstehen , wie sie umgesetzt werden und was sind ihre Rückgabewerte , um zu wissen , in welcher Situation ich habe sie zu nutzen. Zuerst müssen wir Funktionen klassifizieren, die Wanduhrwerte zurückgeben , im Vergleich zu Funktionen, die …
148 c  linux  time  linux-kernel 



2
IOCTL Linux-Gerätetreiber [geschlossen]
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen im vergangenen Jahr . Verbessere diese Frage Kann mir jemand erklären, Was …

7
Was ist der Unterschied zwischen vmalloc und kmalloc?
Ich habe herumgegoogelt und festgestellt, dass die meisten Leute die Verwendung von befürworten kmalloc, da Sie garantiert zusammenhängende physische Speicherblöcke erhalten. Es scheint jedoch auch so, als ob kmalloces fehlschlagen kann, wenn ein zusammenhängender physischer Block, den Sie möchten, nicht gefunden werden kann. Was sind die Vorteile eines zusammenhängenden Speicherblocks? …

3
Kernel-Stack und User Space Stack
Was ist der Unterschied zwischen Kernel-Stack und User-Stack? Warum wird der Kernel-Stack verwendet? Wenn eine lokale Variable in einem ISR deklariert ist, wo wird sie gespeichert? Hat jeder Prozess seinen eigenen Kernel-Stack? Wie koordiniert der Prozess dann zwischen diesen beiden Stapeln?

7
Was passiert mit einem geöffneten Dateihandle unter Linux, wenn die angegebene Datei verschoben oder gelöscht wird?
Was passiert mit einem offenen Dateihandle unter Linux, wenn die spitze Datei inzwischen Folgendes erhält: Verschoben -> Bleibt das Dateihandle gültig? Gelöscht -> Führt dies zu einer EBADF, die auf ein ungültiges Dateihandle hinweist? Ersetzt durch eine neue Datei -> Zeigt das Dateihandle auf diese neue Datei? Ersetzt durch einen …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.