mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 18:25:57 +01:00
readme: create userland multithread section
This commit is contained in:
22
README.adoc
22
README.adoc
@@ -965,7 +965,7 @@ Notable userland content included / moving into this repository includes:
|
||||
|
||||
==== Userland setup getting started
|
||||
|
||||
There are several ways to run our userland content, notably:
|
||||
There are several ways to run our <<userland-content>>, notably:
|
||||
|
||||
* natively on the host as shown at: <<userland-setup-getting-started-natively>>
|
||||
+
|
||||
@@ -11792,12 +11792,12 @@ One "downside" of glibc is that it exercises much more kernel functionality on i
|
||||
|
||||
This section contains userland content, such as <<c>>, <<cpp>> and <<posix>> examples.
|
||||
|
||||
Getting started at: <<userland-setup>>
|
||||
|
||||
Userland assembly content is located at: <<userland-assembly>>. It was split from this section basically becase we were hitting the HTML `h6` limit, stupid web :-)
|
||||
|
||||
This content makes up the bulk of the link:userland/[] directory.
|
||||
|
||||
Getting started at: <<userland-setup>>
|
||||
|
||||
The quickest way to run the arch agnostic examples, which comprise the majority of the examples, is natively with: <<userland-setup-getting-started-natively>>
|
||||
|
||||
This section was originally moved in here from: https://github.com/cirosantilli/cpp-cheat
|
||||
@@ -11864,6 +11864,10 @@ Programs under link:userland/cpp/[] are examples of https://en.wikipedia.org/wik
|
||||
|
||||
* link:userland/cpp/empty.cpp[]
|
||||
* link:userland/cpp/hello.cpp[]
|
||||
|
||||
[[cpp-multithreading]]
|
||||
==== C++ multithreading
|
||||
|
||||
* `<atomic>`: <<cpp17>> 32 "Atomic operations library"
|
||||
** link:userland/cpp/atomic.cpp[]
|
||||
|
||||
@@ -11906,6 +11910,14 @@ getconf -a
|
||||
|
||||
`getconf` is also specified by POSIX at: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/getconf.html but not the `-a` option which shows all configurations.
|
||||
|
||||
=== Userland multithreading
|
||||
|
||||
The following sections are related to multithreading in userland:
|
||||
|
||||
* <cpp-multithreading>
|
||||
* <<x86-thread-synchronization-primitives>>
|
||||
* <<arm-lse>>
|
||||
|
||||
== Userland assembly
|
||||
|
||||
Programs under `userland/arch/<arch>/` are examples of userland assembly programming.
|
||||
@@ -13228,7 +13240,9 @@ TODO We didn't manage to find a working ARM analogue to <<x86-rdtsc-instruction>
|
||||
* https://stackoverflow.com/questions/31620375/arm-cortex-a7-returning-pmccntr-0-in-kernel-mode-and-illegal-instruction-in-u/31649809#31649809
|
||||
* https://blog.regehr.org/archives/794
|
||||
|
||||
=== x86 LOCK prefix
|
||||
=== x86 thread synchronization primitives
|
||||
|
||||
==== x86 LOCK prefix
|
||||
|
||||
Inline assembly example at: link:userland/cpp/atomic.cpp[]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user