lkml.org 
[lkml]   [2021]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [x86/signal] 3aac3ebea0: will-it-scale.per_thread_ops -11.9% regression
Date
On Wed, Dec 08 2021 at 10:20, Dave Hansen wrote:
> On 12/8/21 10:00 AM, Bae, Chang Seok wrote:
>> diff --git a/kernel/signal.c b/kernel/signal.c
>> index a629b11bf3e0..8194d2f38bf1 100644
>> --- a/kernel/signal.c
>> +++ b/kernel/signal.c
>> @@ -4224,6 +4224,11 @@ int restore_altstack(const stack_t __user *uss)
>> stack_t new;
>> if (copy_from_user(&new, uss, sizeof(stack_t)))
>> return -EFAULT;
>> + if (current->sas_ss_sp == (unsigned long) new.ss_sp &&
>> + current->sas_ss_size == new.ss_size &&
>> + current->sas_ss_flags == new.ss_flags)
>> + return 0;
>> +
>> (void)do_sigaltstack(&new, NULL, current_user_stack_pointer(),
>> MINSIGSTKSZ);
>> /* squash all but EFAULT for now */
>
> This seems like a generally good optimization that could go in
> do_sigaltstack() itself, no?

Yes, right before the sigaltstack_lock() invocation.

Thanks,

tglx

\
 
 \ /
  Last update: 2021-12-09 09:14    [W:0.071 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site