Compare commits

...

6 Commits

Author SHA1 Message Date
Dongliang Mu f7c6b82a5c
Merge pull request #843 from ruitianzhong/unavailable-link-fix
fix broken links on kernel stacks
4 weeks ago
Dongliang Mu 7dd61a6921
Merge pull request #842 from beninidavide/fix_grammar
Fix grammar
4 weeks ago
ruitianzhong 57ba9b4860 fix all broken links on `Kernel stacks` 4 months ago
ruitianzhong 4a4659ca39
update unavailable link in linux-interrupts-2.md
Signed-off-by: ruitianzhong <ruitian-zhong@outlook.com>
4 months ago
Davide Benini 172c326798
Update contributors.md 4 months ago
Davide Benini 7feecf88ad
Update linux-interrupts-9.md
Small grammar fixes
4 months ago

@ -504,7 +504,7 @@ Links
* [mm vs active_mm](https://www.kernel.org/doc/Documentation/vm/active_mm.txt)
* [e820](http://en.wikipedia.org/wiki/E820)
* [Supervisor mode access prevention](https://lwn.net/Articles/517475/)
* [Kernel stacks](https://www.kernel.org/doc/Documentation/x86/x86_64/kernel-stacks)
* [Kernel stacks](https://www.kernel.org/doc/Documentation/x86/kernel-stacks)
* [TSS](http://en.wikipedia.org/wiki/Task_state_segment)
* [IDT](http://en.wikipedia.org/wiki/Interrupt_descriptor_table)
* [Memory mapped I/O](http://en.wikipedia.org/wiki/Memory-mapped_I/O)

@ -441,7 +441,7 @@ static inline void _set_gate(int gate, unsigned type, void *addr,
}
```
Here we start from the `pack_gate` function which takes clean `IDT` entry represented by the `gate_desc` structure and fills it with the base address and limit, [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/x86_64/kernel-stacks), [Privilege level](http://en.wikipedia.org/wiki/Privilege_level), type of an interrupt which can be one of the following values:
Here we start from the `pack_gate` function which takes clean `IDT` entry represented by the `gate_desc` structure and fills it with the base address and limit, [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/kernel-stacks), [Privilege level](http://en.wikipedia.org/wiki/Privilege_level), type of an interrupt which can be one of the following values:
* `GATE_INTERRUPT`
* `GATE_TRAP`
@ -537,6 +537,6 @@ Links
* [Union type](http://en.wikipedia.org/wiki/Union_type)
* [this_cpu_* operations](https://github.com/torvalds/linux/blob/16f73eb02d7e1765ccab3d2018e0bd98eb93d973/Documentation/this_cpu_ops.txt)
* [vector number](http://en.wikipedia.org/wiki/Interrupt_vector_table)
* [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/x86_64/kernel-stacks)
* [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/kernel-stacks)
* [Privilege level](http://en.wikipedia.org/wiki/Privilege_level)
* [Previous part](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-1)

@ -286,7 +286,7 @@ The next exception is `#DF` or `Double fault`. This exception occurs when the pr
set_intr_gate_ist(X86_TRAP_DF, &double_fault, DOUBLEFAULT_STACK);
```
Note that this exception runs on the `DOUBLEFAULT_STACK` [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/x86_64/kernel-stacks) which has index - `1`:
Note that this exception runs on the `DOUBLEFAULT_STACK` [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/kernel-stacks) which has index - `1`:
```C
#define DOUBLEFAULT_STACK 1
@ -485,7 +485,7 @@ Links
* [printk](https://en.wikipedia.org/wiki/Printk)
* [coprocessor](https://en.wikipedia.org/wiki/Coprocessor)
* [SIMD](https://en.wikipedia.org/wiki/SIMD)
* [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/x86_64/kernel-stacks)
* [Interrupt Stack Table](https://www.kernel.org/doc/Documentation/x86/kernel-stacks)
* [PID](https://en.wikipedia.org/wiki/Process_identifier)
* [x87 FPU](https://en.wikipedia.org/wiki/X87)
* [control register](https://en.wikipedia.org/wiki/Control_register)

@ -24,7 +24,7 @@ There are three types of `deferred interrupts` in the Linux kernel:
* `tasklets`;
* `workqueues`;
And we will see description of all of these types in this part. As I said, we saw only a little bit about this theme, so, now is time to dive deep into details about this theme.
And we will see a description of all of these types in this part. As I said, we saw only a little bit about this theme, so, now is time to dive deep into details about this theme.
Softirqs
----------------------------------------------------------------------------------
@ -43,7 +43,7 @@ $ systemd-cgls -k | grep ksoft
├─ 43 [ksoftirqd/7]
```
The `spawn_ksoftirqd` function starts this these threads. As we can see this function called as early [initcall](https://kernelnewbies.org/Documents/InitcallMechanism):
The `spawn_ksoftirqd` function starts these threads. As we can see this function called as early [initcall](https://kernelnewbies.org/Documents/InitcallMechanism):
```C
early_initcall(spawn_ksoftirqd);

@ -138,3 +138,4 @@ Thank you to all contributors:
* [Dexter Plameras](https://github.com/dexterp)
* [Jun Duan](https://github.com/waltforme)
* [Guochao Xie](https://github.com/XieGuochao)
* [Davide Benini](https://github.com/beninidavide/)

Loading…
Cancel
Save