/* Bias the spin lock on fork */ %{ #define LOCK_BIAS ((1ULL << 32) - (1ULL << 15)) %} function bias_siglock (task:long) %{ struct task_struct *tsk = (struct task_struct*)THIS->task; tsk->sighand->siglock.raw_lock.lock = LOCK_BIAS + (LOCK_BIAS << 32); %} function is_err (value:long) %{ THIS->__retvalue = IS_ERR_VALUE((unsigned long)THIS->value); %} probe kernel.function("copy_process").return { if (!is_err($return)) bias_siglock($return); }