Commit fd03c5b
Peter Zijlstra
sched: Rework pick_next_task()
The current rule is that:
pick_next_task() := pick_task() + set_next_task(.first = true)
And many classes implement it directly as such. Change things around
to make pick_next_task() optional while also changing the definition to:
pick_next_task(prev) := pick_task() + put_prev_task() + set_next_task(.first = true)
The reason is that sched_ext would like to have a 'final' call that
knows the next task. By placing put_prev_task() right next to
set_next_task() (as it already is for sched_core) this becomes
trivial.
As a bonus, this is a nice cleanup on its own.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Link: https://lore.kernel.org/r/[email protected]1 parent 260598f commit fd03c5b
File tree
7 files changed
+37
-74
lines changed- kernel/sched
7 files changed
+37
-74
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5893 | 5893 | | |
5894 | 5894 | | |
5895 | 5895 | | |
| 5896 | + | |
5896 | 5897 | | |
5897 | | - | |
| 5898 | + | |
5898 | 5899 | | |
5899 | 5900 | | |
5900 | 5901 | | |
| |||
5916 | 5917 | | |
5917 | 5918 | | |
5918 | 5919 | | |
5919 | | - | |
5920 | 5920 | | |
5921 | 5921 | | |
5922 | | - | |
5923 | | - | |
5924 | | - | |
| 5922 | + | |
| 5923 | + | |
| 5924 | + | |
| 5925 | + | |
| 5926 | + | |
| 5927 | + | |
| 5928 | + | |
| 5929 | + | |
| 5930 | + | |
| 5931 | + | |
| 5932 | + | |
| 5933 | + | |
5925 | 5934 | | |
5926 | 5935 | | |
5927 | 5936 | | |
| |||
6017 | 6026 | | |
6018 | 6027 | | |
6019 | 6028 | | |
6020 | | - | |
6021 | 6029 | | |
6022 | 6030 | | |
6023 | 6031 | | |
| |||
6184 | 6192 | | |
6185 | 6193 | | |
6186 | 6194 | | |
| 6195 | + | |
6187 | 6196 | | |
6188 | 6197 | | |
6189 | 6198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2431 | 2431 | | |
2432 | 2432 | | |
2433 | 2433 | | |
2434 | | - | |
2435 | 2434 | | |
2436 | 2435 | | |
2437 | 2436 | | |
2438 | 2437 | | |
2439 | | - | |
2440 | | - | |
2441 | | - | |
2442 | | - | |
2443 | | - | |
2444 | | - | |
2445 | | - | |
2446 | | - | |
2447 | | - | |
2448 | | - | |
2449 | | - | |
2450 | | - | |
2451 | | - | |
2452 | | - | |
2453 | | - | |
2454 | | - | |
2455 | | - | |
2456 | 2438 | | |
2457 | 2439 | | |
2458 | 2440 | | |
| |||
3146 | 3128 | | |
3147 | 3129 | | |
3148 | 3130 | | |
3149 | | - | |
| 3131 | + | |
3150 | 3132 | | |
3151 | 3133 | | |
3152 | 3134 | | |
3153 | 3135 | | |
3154 | 3136 | | |
3155 | | - | |
3156 | 3137 | | |
3157 | 3138 | | |
3158 | 3139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8777 | 8777 | | |
8778 | 8778 | | |
8779 | 8779 | | |
8780 | | - | |
| 8780 | + | |
8781 | 8781 | | |
8782 | 8782 | | |
8783 | 8783 | | |
| |||
8819 | 8819 | | |
8820 | 8820 | | |
8821 | 8821 | | |
8822 | | - | |
8823 | | - | |
| 8822 | + | |
8824 | 8823 | | |
8825 | 8824 | | |
8826 | 8825 | | |
| |||
8850 | 8849 | | |
8851 | 8850 | | |
8852 | 8851 | | |
8853 | | - | |
| 8852 | + | |
8854 | 8853 | | |
8855 | | - | |
| 8854 | + | |
8856 | 8855 | | |
8857 | 8856 | | |
8858 | 8857 | | |
| |||
13490 | 13489 | | |
13491 | 13490 | | |
13492 | 13491 | | |
| 13492 | + | |
13493 | 13493 | | |
13494 | 13494 | | |
13495 | 13495 | | |
13496 | 13496 | | |
13497 | 13497 | | |
13498 | 13498 | | |
13499 | | - | |
13500 | 13499 | | |
13501 | 13500 | | |
13502 | 13501 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
465 | | - | |
466 | | - | |
| 465 | + | |
467 | 466 | | |
468 | 467 | | |
469 | 468 | | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | 469 | | |
481 | 470 | | |
482 | 471 | | |
| |||
531 | 520 | | |
532 | 521 | | |
533 | 522 | | |
534 | | - | |
| 523 | + | |
535 | 524 | | |
536 | 525 | | |
537 | 526 | | |
538 | 527 | | |
539 | 528 | | |
540 | | - | |
541 | 529 | | |
542 | 530 | | |
543 | 531 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1748 | 1748 | | |
1749 | 1749 | | |
1750 | 1750 | | |
1751 | | - | |
1752 | | - | |
1753 | | - | |
1754 | | - | |
1755 | | - | |
1756 | | - | |
1757 | | - | |
1758 | | - | |
1759 | | - | |
1760 | | - | |
1761 | 1751 | | |
1762 | 1752 | | |
1763 | 1753 | | |
| |||
2645 | 2635 | | |
2646 | 2636 | | |
2647 | 2637 | | |
2648 | | - | |
| 2638 | + | |
2649 | 2639 | | |
2650 | 2640 | | |
2651 | 2641 | | |
2652 | 2642 | | |
2653 | 2643 | | |
2654 | | - | |
2655 | 2644 | | |
2656 | 2645 | | |
2657 | 2646 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2300 | 2300 | | |
2301 | 2301 | | |
2302 | 2302 | | |
2303 | | - | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
| 2308 | + | |
| 2309 | + | |
| 2310 | + | |
| 2311 | + | |
| 2312 | + | |
| 2313 | + | |
2304 | 2314 | | |
2305 | 2315 | | |
2306 | 2316 | | |
| |||
2309 | 2319 | | |
2310 | 2320 | | |
2311 | 2321 | | |
2312 | | - | |
2313 | | - | |
2314 | 2322 | | |
2315 | 2323 | | |
2316 | 2324 | | |
| |||
2421 | 2429 | | |
2422 | 2430 | | |
2423 | 2431 | | |
2424 | | - | |
| 2432 | + | |
2425 | 2433 | | |
2426 | 2434 | | |
2427 | 2435 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | 44 | | |
55 | 45 | | |
56 | 46 | | |
| |||
112 | 102 | | |
113 | 103 | | |
114 | 104 | | |
115 | | - | |
| 105 | + | |
116 | 106 | | |
117 | 107 | | |
118 | 108 | | |
119 | 109 | | |
120 | 110 | | |
121 | | - | |
122 | 111 | | |
123 | 112 | | |
124 | 113 | | |
| |||
0 commit comments