# Re: \[PATCH\] uprobes: Improve scalability by reducing the contention on siglock

- From: Liao, Chang \<hidden\>
- Date: 2024-08-02 01:38:09 
- List: linux-trace-kernel
- Page: https://ratatoskr.run/linux-trace-kernel/2024/08/2693792
- Thread: https://ratatoskr.run/linux-trace-kernel/2024/08/2692734/t.md

```text


在 2024/8/1 22:06, Oleg Nesterov 写道:
> On 08/01, Liao Chang wrote:
>>
>> @@ -2276,22 +2277,25 @@ static void handle_singlestep(struct uprobe_task *utask, struct pt_regs *regs)
>>  	int err = 0;
>>  
>>  	uprobe = utask->active_uprobe;
>> -	if (utask->state == UTASK_SSTEP_ACK)
>> +	switch (utask->state) {
>> +	case UTASK_SSTEP_ACK:
>>  		err = arch_uprobe_post_xol(&uprobe->arch, regs);
>> -	else if (utask->state == UTASK_SSTEP_TRAPPED)
>> +		break;
>> +	case UTASK_SSTEP_TRAPPED:
>>  		arch_uprobe_abort_xol(&uprobe->arch, regs);
>> -	else
>> +		fallthrough;
>> +	case UTASK_SSTEP_DENY_SIGNAL:
>> +		set_tsk_thread_flag(current, TIF_SIGPENDING);
>> +		break;
>> +	default:
>>  		WARN_ON_ONCE(1);
>> +	}
> 
> Liao, at first glance this change looks "obviously wrong" to me.

Oleg. Did i overlook some thing obvious here?

> 
> But let me read this patch more carefully and reply on weekend,
> I am a bit busy right now.

Sure, thanks.

> 
> Thanks,
> 
> Oleg.
> 
> 

-- 
BR
Liao, Chang
```
