Commit e636ffb
Peter Zijlstra
sched/deadline: Fix dl_server time accounting
The dl_server time accounting code is a little odd. The normal scheduler
pattern is to update curr before doing something, such that the old state is
fully accounted before changing state.
Notably, the dl_server_timer() needs to propagate the current time accounting
since the current task could be ran by dl_server and thus this can affect
dl_se->runtime. Similarly for dl_server_start().
And since the (deferred) dl_server wants idle time accounted, rework
sched_idle_class time accounting to be more like all the others.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251020141130.GJ3245006@noisy.programming.kicks-ass.net1 parent e40cea3 commit e636ffb
4 files changed
Lines changed: 33 additions & 35 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1166 | 1166 | | |
1167 | 1167 | | |
1168 | 1168 | | |
1169 | | - | |
1170 | | - | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
1171 | 1175 | | |
1172 | 1176 | | |
1173 | 1177 | | |
| |||
1543 | 1547 | | |
1544 | 1548 | | |
1545 | 1549 | | |
1546 | | - | |
| 1550 | + | |
1547 | 1551 | | |
1548 | | - | |
1549 | | - | |
1550 | | - | |
1551 | | - | |
1552 | | - | |
1553 | | - | |
1554 | | - | |
1555 | | - | |
1556 | | - | |
1557 | | - | |
1558 | | - | |
1559 | | - | |
1560 | | - | |
1561 | | - | |
1562 | | - | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | | - | |
1568 | | - | |
| 1552 | + | |
| 1553 | + | |
1569 | 1554 | | |
1570 | 1555 | | |
1571 | 1556 | | |
1572 | 1557 | | |
1573 | 1558 | | |
1574 | | - | |
| 1559 | + | |
1575 | 1560 | | |
1576 | 1561 | | |
1577 | 1562 | | |
| |||
1582 | 1567 | | |
1583 | 1568 | | |
1584 | 1569 | | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
1585 | 1575 | | |
1586 | 1576 | | |
1587 | 1577 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1212 | 1212 | | |
1213 | 1213 | | |
1214 | 1214 | | |
1215 | | - | |
1216 | | - | |
| 1215 | + | |
1217 | 1216 | | |
1218 | 1217 | | |
1219 | 1218 | | |
| |||
6961 | 6960 | | |
6962 | 6961 | | |
6963 | 6962 | | |
6964 | | - | |
6965 | | - | |
6966 | | - | |
6967 | | - | |
| 6963 | + | |
6968 | 6964 | | |
6969 | | - | |
6970 | 6965 | | |
6971 | 6966 | | |
6972 | 6967 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
| 455 | + | |
| 456 | + | |
455 | 457 | | |
456 | 458 | | |
457 | | - | |
| 459 | + | |
458 | 460 | | |
459 | 461 | | |
460 | 462 | | |
| |||
496 | 498 | | |
497 | 499 | | |
498 | 500 | | |
| 501 | + | |
499 | 502 | | |
500 | 503 | | |
501 | 504 | | |
| |||
514 | 517 | | |
515 | 518 | | |
516 | 519 | | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
517 | 531 | | |
518 | 532 | | |
519 | 533 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
404 | 404 | | |
405 | 405 | | |
406 | 406 | | |
| 407 | + | |
407 | 408 | | |
408 | 409 | | |
409 | 410 | | |
410 | 411 | | |
411 | 412 | | |
412 | 413 | | |
413 | 414 | | |
414 | | - | |
415 | | - | |
416 | 415 | | |
417 | 416 | | |
418 | 417 | | |
| |||
0 commit comments