dtrace: prevent Oops caused by preemption issues with probes
It was possible (specifically with direct-call probes) for the execution of
actions (using the DIF emulator) to get preempted, causing interesting side
effects because dtrace_probe() (and the functions it calls) are designed to
run on a specific CPU without any interruption especially not from another
call to dtrace_probe()). Since the UEK3 kernel uses voluntary preemption,
the behaviour was not as expected and explicit preemption protection had to
be added to resolve this.
Orabug:
17403196
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>