On Wednesday 23 August 2006 12:03, Zachary Amsden wrote: > Andi Kleen wrote: > >> And the functions they call? > >> > > > > Yes. But you only really need it for the actual callback, not the bulk > > of stop_machine_run() (which calls scheduler and lots of other stuff) > > The actual callback should be pretty limited already so it shouldn't > > be a big limitation. > > > > -Andi > > > > Hmm. Seems dangerous to rely on this, because functions could change > from inline to out of line without people noticing that it affects this > very corner case for kprobes + paravirt + stop_machine. Is there a way > to cascade the __kprobes declaration to all called functions, perhaps > with a static checker, like sparse? Not that I know of. But that wasn't what I suggested: my point was that kprobes while stop machine is still doing setup or tear down is fine. You only don't want them in your new per CPU callback. So it should be enough to mark that callback __kprobes. -Andi