On Fri, Sep 10, 2021 at 07:00:08PM +0000, Song Liu wrote: > Hmm.. not really. We call migrate_disable() before entering the BPF program. > And the helper calls snapshot_branch_stack() inside the BPF program. To move > it to before migrate_disable(), we will have to add a "whether to snapshot > branch stack" check before entering the BPF program. This check, while is > cheap, is added to all BPF programs on this hook, even when the program does > not use snapshot at all. So we would rather keep all logic inside the helper, > and not touch the common path. Moo :/ Because I also really don't want to expose struct rq, it's currently nicely squirelled away in kernel/sched/ and doesn't get anywhere near include/. A well, maybe we can do something clever with migrate_disable() itself. I'll put it on this endless todo list ;-)