diff --git a/Initialization/linux-initialization-10.md b/Initialization/linux-initialization-10.md index 4ca7c87..47c6f93 100644 --- a/Initialization/linux-initialization-10.md +++ b/Initialization/linux-initialization-10.md @@ -444,7 +444,7 @@ It is the end of the tenth part about the linux kernel [initialization process]( If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-2.md b/Initialization/linux-initialization-2.md index f35429b..f027624 100644 --- a/Initialization/linux-initialization-2.md +++ b/Initialization/linux-initialization-2.md @@ -455,9 +455,9 @@ After page fault handler finished it's work and as result our `early_level4_pgt` Conclusion -------------------------------------------------------------------------------- -This is the end of the second part about linux kernel insides. If you have questions or suggestions, ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-internals/issues/new). In the next part we will see all steps before kernel entry point - `start_kernel` function. +This is the end of the second part about linux kernel insides. If you have questions or suggestions, ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-insides/issues/new). In the next part we will see all steps before kernel entry point - `start_kernel` function. -**Please note that English is not my first language and I am really sorry for any inconvenience. If you found any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language and I am really sorry for any inconvenience. If you found any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-3.md b/Initialization/linux-initialization-3.md index b7cccee..e6b3eb8 100644 --- a/Initialization/linux-initialization-3.md +++ b/Initialization/linux-initialization-3.md @@ -420,7 +420,7 @@ It is the end of the third part about linux kernel insides. In next part we will If you have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-4.md b/Initialization/linux-initialization-4.md index 9a449af..9f040ad 100644 --- a/Initialization/linux-initialization-4.md +++ b/Initialization/linux-initialization-4.md @@ -436,7 +436,7 @@ It is the end of the fourth part about the Linux kernel initialization process. If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me a PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me a PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-5.md b/Initialization/linux-initialization-5.md index 4e5097a..18c7baa 100644 --- a/Initialization/linux-initialization-5.md +++ b/Initialization/linux-initialization-5.md @@ -494,7 +494,7 @@ It is the end of the fifth part about linux kernel initialization process. In th If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-6.md b/Initialization/linux-initialization-6.md index 36520b3..64c9844 100644 --- a/Initialization/linux-initialization-6.md +++ b/Initialization/linux-initialization-6.md @@ -528,7 +528,7 @@ It is the end of the sixth part about linux kernel initialization process. In th If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-7.md b/Initialization/linux-initialization-7.md index 5290880..64fff14 100644 --- a/Initialization/linux-initialization-7.md +++ b/Initialization/linux-initialization-7.md @@ -462,7 +462,7 @@ It is the end of the seventh part about the linux kernel initialization process. If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links ================================================================================ diff --git a/Initialization/linux-initialization-8.md b/Initialization/linux-initialization-8.md index 1af86d1..6ffe12a 100644 --- a/Initialization/linux-initialization-8.md +++ b/Initialization/linux-initialization-8.md @@ -458,7 +458,7 @@ and other initialization stuff in the next part. If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Initialization/linux-initialization-9.md b/Initialization/linux-initialization-9.md index 9e490cb..2e3039c 100644 --- a/Initialization/linux-initialization-9.md +++ b/Initialization/linux-initialization-9.md @@ -409,7 +409,7 @@ It is the end of the ninth part about the linux kernel [initialization process]( If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/Misc/contribute.md b/Misc/contribute.md index c4c7964..da23d46 100644 --- a/Misc/contribute.md +++ b/Misc/contribute.md @@ -12,7 +12,7 @@ I'm writing this part nine and a half months after I've started to learn from th ![github](http://s2.postimg.org/jjb3s4frt/stars.png) -It seems that people are interested in the internals of the Linux kernel. Besides this, in all the time that I have been writing `linux-insides`, I have received many questions from different people about how to begin contributing to the Linux kernel. Generally people are interested in contributing to open source projects and the Linux kernel is not an exception: +It seems that people are interested in the insides of the Linux kernel. Besides this, in all the time that I have been writing `linux-insides`, I have received many questions from different people about how to begin contributing to the Linux kernel. Generally people are interested in contributing to open source projects and the Linux kernel is not an exception: ![google-linux](http://s4.postimg.org/yg9z5zx0d/google_linux.png) diff --git a/Misc/linkers.md b/Misc/linkers.md index fd98ee2..8743ee6 100644 --- a/Misc/linkers.md +++ b/Misc/linkers.md @@ -627,7 +627,7 @@ Please note that English is not my first language, and I am really sorry for any Links ----------------- -* [Book about Linux kernel internals](http://0xax.gitbooks.io/linux-insides/content/) +* [Book about Linux kernel insides](http://0xax.gitbooks.io/linux-insides/content/) * [linker](https://en.wikipedia.org/wiki/Linker_%28computing%29) * [object files](https://en.wikipedia.org/wiki/Object_file) * [glibc](https://en.wikipedia.org/wiki/GNU_C_Library) diff --git a/README.md b/README.md index 544860b..baaa639 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ linux-insides A series of posts about the linux kernel and its insides. -**The goal is simple** - to share my modest knowledge about the internals of the linux kernel and help people who are interested in linux kernel internals, and other low-level subject matter. +**The goal is simple** - to share my modest knowledge about the insides of the linux kernel and help people who are interested in linux kernel insides, and other low-level subject matter. -**Questions/Suggestions**: Feel free about any questions or suggestions by pinging me at twitter [@0xAX](https://twitter.com/0xAX), adding an [issue](https://github.com/0xAX/linux-internals/issues/new) or just drop me an [email](mailto:anotherworldofworld@gmail.com). +**Questions/Suggestions**: Feel free about any questions or suggestions by pinging me at twitter [@0xAX](https://twitter.com/0xAX), adding an [issue](https://github.com/0xAX/linux-insides/issues/new) or just drop me an [email](mailto:anotherworldofworld@gmail.com). Support ------- diff --git a/Timers/timers-1.md b/Timers/timers-1.md index d72a96f..f82db13 100644 --- a/Timers/timers-1.md +++ b/Timers/timers-1.md @@ -406,7 +406,7 @@ That's all. Conclusion -------------------------------------------------------------------------------- -This concludes the first part covering time and time management related concepts in the Linux kernel. We met first two concepts and its initialization in this part: `jiffies` and `clocksource`. In the next part we will continue to dive into this interesting theme and as I already wrote in this part we will acquainted and try to understand internals of these and other time management concepts in the Linux kernel. +This concludes the first part covering time and time management related concepts in the Linux kernel. We met first two concepts and its initialization in this part: `jiffies` and `clocksource`. In the next part we will continue to dive into this interesting theme and as I already wrote in this part we will acquainted and try to understand insides of these and other time management concepts in the Linux kernel. If you have questions or suggestions, feel free to ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-insides/issues/new). diff --git a/Timers/timers-2.md b/Timers/timers-2.md index f29b366..db58e04 100644 --- a/Timers/timers-2.md +++ b/Timers/timers-2.md @@ -192,7 +192,7 @@ for the `x86` architectures. Where the `vDSO` clock mode can be one of the: The last three fields are `wd_list`, `cs_last` and the `wd_last` depends on the `CONFIG_CLOCKSOURCE_WATCHDOG` kernel configuration option. First of all let's try to understand what is it `whatchdog`. In a simple words, watchdog is a timer that is used for detection of the computer malfunctions and recovering from it. All of these three fields contain watchdog related data that is used by the `clocksource` framework. If we will grep the Linux kernel source code, we will see that only [arch/x86/KConfig](https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig#L54) kernel configuration file contains the `CONFIG_CLOCKSOURCE_WATCHDOG` kernel configuration option. So, why do `x86` and `x86_64` need in [watchdog](https://en.wikipedia.org/wiki/Watchdog_timer)? You already may know that all `x86` processors has special 64-bit register - [time stamp counter](https://en.wikipedia.org/wiki/Time_Stamp_Counter). This register contains number of [cycles](https://en.wikipedia.org/wiki/Clock_rate) since the reset. Sometimes the time stamp counter needs to be verified against another clock source. We will not see initialization of the `watchdog` timer in this part, before this we must learn more about timers. -That's all. From this moment we know all fields of the `clocksource` structure. This knowledge will help us to learn internals of the `clocksource` framework. +That's all. From this moment we know all fields of the `clocksource` structure. This knowledge will help us to learn insides of the `clocksource` framework. New clock source registration -------------------------------------------------------------------------------- diff --git a/Timers/timers-3.md b/Timers/timers-3.md index e9151bf..de78e4d 100644 --- a/Timers/timers-3.md +++ b/Timers/timers-3.md @@ -418,7 +418,7 @@ This is the end of the third part of the chapter that describes timers and timer In the next part we will continue to dive into timer management related things in the Linux kernel and will see new concept for us - `timers`. -If you have questions or suggestions, feel free to ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-internals/issues/new). +If you have questions or suggestions, feel free to ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-insides/issues/new). **Please note that English is not my first language and I am really sorry for any inconvenience. If you found any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** diff --git a/Timers/timers-4.md b/Timers/timers-4.md index bfdcf9c..e6b9252 100644 --- a/Timers/timers-4.md +++ b/Timers/timers-4.md @@ -408,7 +408,7 @@ This is the end of the fourth part of the chapter that describes timers and time In the next part we will continue to dive into timer management related things in the Linux kernel and will see new concept for us - `timers`. -If you have questions or suggestions, feel free to ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-internals/issues/new). +If you have questions or suggestions, feel free to ping me in twitter [0xAX](https://twitter.com/0xAX), drop me [email](anotherworldofworld@gmail.com) or just create [issue](https://github.com/0xAX/linux-insides/issues/new). **Please note that English is not my first language and I am really sorry for any inconvenience. If you found any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** diff --git a/interrupts/interrupts-1.md b/interrupts/interrupts-1.md index 2fff0d9..bd7beac 100644 --- a/interrupts/interrupts-1.md +++ b/interrupts/interrupts-1.md @@ -474,7 +474,7 @@ It is the end of the first part about interrupts and interrupt handling in the L If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me a PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me a PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-10.md b/interrupts/interrupts-10.md index 1cc6224..12e66e6 100644 --- a/interrupts/interrupts-10.md +++ b/interrupts/interrupts-10.md @@ -452,7 +452,7 @@ It is the end of the tenth part of the [Interrupts and Interrupt Handling](http: If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-2.md b/interrupts/interrupts-2.md index 025d425..9f58ea1 100644 --- a/interrupts/interrupts-2.md +++ b/interrupts/interrupts-2.md @@ -314,7 +314,7 @@ void trace_hardirqs_off(void) EXPORT_SYMBOL(trace_hardirqs_off); ``` -and just calls `trace_hardirqs_off_caller` function. The `trace_hardirqs_off_caller` checks the `hardirqs_enabled` filed of the current process increment the `redundant_hardirqs_off` if call of the `local_irq_disable` was redundant or the `hardirqs_off_events` if it was not. These two fields and other `lockdep` statistic related fields are defined in the [kernel/locking/lockdep_insides.h](https://github.com/torvalds/linux/blob/master/kernel/locking/lockdep_internals.h) and located in the `lockdep_stats` structure: +and just calls `trace_hardirqs_off_caller` function. The `trace_hardirqs_off_caller` checks the `hardirqs_enabled` filed of the current process increment the `redundant_hardirqs_off` if call of the `local_irq_disable` was redundant or the `hardirqs_off_events` if it was not. These two fields and other `lockdep` statistic related fields are defined in the [kernel/locking/lockdep_insides.h](https://github.com/torvalds/linux/blob/master/kernel/locking/lockdep_insides.h) and located in the `lockdep_stats` structure: ```C struct lockdep_stats { @@ -521,7 +521,7 @@ It is the end of the second part about interrupts and interrupt handling in the If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-3.md b/interrupts/interrupts-3.md index 9659aa8..afde576 100644 --- a/interrupts/interrupts-3.md +++ b/interrupts/interrupts-3.md @@ -447,7 +447,7 @@ It is the end of the third part about interrupts and interrupt handling in the L If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-4.md b/interrupts/interrupts-4.md index e0b2ba6..4cf5376 100644 --- a/interrupts/interrupts-4.md +++ b/interrupts/interrupts-4.md @@ -432,7 +432,7 @@ It is the end of the fourth part about interrupts and interrupt handling in the If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-5.md b/interrupts/interrupts-5.md index bfdd165..cff972e 100644 --- a/interrupts/interrupts-5.md +++ b/interrupts/interrupts-5.md @@ -467,7 +467,7 @@ It is the end of the fifth part of the [Interrupts and Interrupt Handling](http: If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-6.md b/interrupts/interrupts-6.md index 14c677e..e83845c 100644 --- a/interrupts/interrupts-6.md +++ b/interrupts/interrupts-6.md @@ -450,7 +450,7 @@ It is the end of the sixth part of the [Interrupts and Interrupt Handling](http: If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-7.md b/interrupts/interrupts-7.md index 8586cbe..528bf9f 100644 --- a/interrupts/interrupts-7.md +++ b/interrupts/interrupts-7.md @@ -438,7 +438,7 @@ It is the end of the seventh part of the [Interrupts and Interrupt Handling](htt If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-8.md b/interrupts/interrupts-8.md index da62b3c..5a2151d 100644 --- a/interrupts/interrupts-8.md +++ b/interrupts/interrupts-8.md @@ -515,7 +515,7 @@ In the next part we will continue to learn interrupts handling related stuff and If you will have any questions or suggestions write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you will find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links -------------------------------------------------------------------------------- diff --git a/interrupts/interrupts-9.md b/interrupts/interrupts-9.md index 741b59b..a1afe6c 100644 --- a/interrupts/interrupts-9.md +++ b/interrupts/interrupts-9.md @@ -501,7 +501,7 @@ The next part will be last part of the `Interrupts and Interrupt Handling` chapt If you have any questions or suggestions, write me a comment or ping me at [twitter](https://twitter.com/0xAX). -**Please note that English is not my first language, And I am really sorry for any inconvenience. If you find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-internals).** +**Please note that English is not my first language, And I am really sorry for any inconvenience. If you find any mistakes please send me PR to [linux-insides](https://github.com/0xAX/linux-insides).** Links --------------------------------------------------------------------------------