| .. | .. |
|---|
| 25 | 25 | |
|---|
| 26 | 26 | - A CPU looping with bottom halves disabled. |
|---|
| 27 | 27 | |
|---|
| 28 | | -- For !CONFIG_PREEMPTION kernels, a CPU looping anywhere in the kernel |
|---|
| 28 | +- For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the kernel |
|---|
| 29 | 29 | without invoking schedule(). If the looping in the kernel is |
|---|
| 30 | 30 | really expected and desirable behavior, you might need to add |
|---|
| 31 | 31 | some calls to cond_resched(). |
|---|
| .. | .. |
|---|
| 44 | 44 | result in the ``rcu_.*kthread starved for`` console-log message, |
|---|
| 45 | 45 | which will include additional debugging information. |
|---|
| 46 | 46 | |
|---|
| 47 | | -- A CPU-bound real-time task in a CONFIG_PREEMPTION kernel, which might |
|---|
| 47 | +- A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might |
|---|
| 48 | 48 | happen to preempt a low-priority task in the middle of an RCU |
|---|
| 49 | 49 | read-side critical section. This is especially damaging if |
|---|
| 50 | 50 | that low-priority task is not permitted to run on any other CPU, |
|---|