Commit bd0f9b3
committed
sched/headers: fix up header file dependency on <linux/sched/signal.h>
The scheduler header file split and cleanups ended up exposing a few
nasty header file dependencies, and in particular it showed how we in
<linux/wait.h> ended up depending on "signal_pending()", which now comes
from <linux/sched/signal.h>.
That's a very subtle and annoying dependency, which already caused a
semantic merge conflict (see commit e58bc92 "Pull overlayfs updates
from Miklos Szeredi", which added that fixup in the merge commit).
It turns out that we can avoid this dependency _and_ improve code
generation by moving the guts of the fairly nasty helper #define
__wait_event_interruptible_locked() to out-of-line code. The code that
includes the signal_pending() check is all in the slow-path where we
actually go to sleep waiting for the event anyway, so using a helper
function is the right thing to do.
Using a helper function is also what we already did for the non-locked
versions, see the "__wait_event*()" macros and the "prepare_to_wait*()"
set of helper functions.
We might want to try to unify all these macro games, we have a _lot_ of
subtly different wait-event loops. But this is the minimal patch to fix
the annoying header dependency.
Acked-by: Ingo Molnar <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>1 parent ec3b93a commit bd0f9b3
2 files changed
+49
-21
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
| 623 | + | |
| 624 | + | |
623 | 625 | | |
624 | | - | |
| 626 | + | |
625 | 627 | | |
626 | | - | |
| 628 | + | |
627 | 629 | | |
628 | 630 | | |
629 | 631 | | |
630 | 632 | | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
| 633 | + | |
| 634 | + | |
636 | 635 | | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | 636 | | |
648 | 637 | | |
649 | 638 | | |
| |||
676 | 665 | | |
677 | 666 | | |
678 | 667 | | |
679 | | - | |
| 668 | + | |
680 | 669 | | |
681 | 670 | | |
682 | 671 | | |
| |||
703 | 692 | | |
704 | 693 | | |
705 | 694 | | |
706 | | - | |
| 695 | + | |
707 | 696 | | |
708 | 697 | | |
709 | 698 | | |
| |||
734 | 723 | | |
735 | 724 | | |
736 | 725 | | |
737 | | - | |
| 726 | + | |
738 | 727 | | |
739 | 728 | | |
740 | 729 | | |
| |||
765 | 754 | | |
766 | 755 | | |
767 | 756 | | |
768 | | - | |
| 757 | + | |
769 | 758 | | |
770 | 759 | | |
771 | 760 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
245 | 284 | | |
246 | 285 | | |
247 | 286 | | |
| |||
0 commit comments