On Mon, Mar 28, 2022 at 4:56 PM Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: > > The removal of tracehook.h is quite significant as it has been a major > source of confusion in recent years. Much of that confusion was > around task_work and TIF_NOTIFY_SIGNAL (which I have now decoupled > making the semantics clearer). Hmm. I love removing tracehook.c, but this looks like it hasn't been in linux-next. The header file changes messes with other changes, and we have kernel/sched/fair.c:2884:9: error: implicit declaration of function ‘init_task_work’; did you mean ‘init_irq_work’? [-Werror=implicit-function-declaration] 2884 | init_task_work(&p->numa_work, task_numa_work); | ^~~~~~~~~~~~~~ as a result (also a few other things in that same file). Now, this is trivial to fix - just add an include for <linux/task_work.h> from that file - and that's the right thing to do anyway. But I'm a bit unhappy that this was either not tested in linux-next, or if it was, I wasn't notified about the semantic in the pull request. So I've pulled this, and fixed up things in my merge, but I'm a bit worried that there might be other situations like this where some header file is no longer included and it was included implicitly before through that disgusting tracehook.h header.. I *hope* it was just the scheduler header file updates that ended up having this effect, and nothing else is affected. Let's see if the test robots start complaining about non-x86 architecture-specific stuff that I don't build test. Linus