mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-28 12:34:26 +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
|
==== 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>>
|
* 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.
|
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 :-)
|
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.
|
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>>
|
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
|
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/empty.cpp[]
|
||||||
* link:userland/cpp/hello.cpp[]
|
* link:userland/cpp/hello.cpp[]
|
||||||
|
|
||||||
|
[[cpp-multithreading]]
|
||||||
|
==== C++ multithreading
|
||||||
|
|
||||||
* `<atomic>`: <<cpp17>> 32 "Atomic operations library"
|
* `<atomic>`: <<cpp17>> 32 "Atomic operations library"
|
||||||
** link:userland/cpp/atomic.cpp[]
|
** 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.
|
`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
|
== Userland assembly
|
||||||
|
|
||||||
Programs under `userland/arch/<arch>/` are examples of userland assembly programming.
|
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://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
|
* 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[]
|
Inline assembly example at: link:userland/cpp/atomic.cpp[]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user