[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c94b8394-08cd-8273-2cd5-1ee5880d4c36@intel.com>
Date: Wed, 8 Dec 2021 10:20:26 -0800
From: Dave Hansen <dave.hansen@...el.com>
To: "Bae, Chang Seok" <chang.seok.bae@...el.com>,
Thomas Gleixner <tglx@...utronix.de>
Cc: "Sang, Oliver" <oliver.sang@...el.com>,
Borislav Petkov <bp@...e.de>,
LKML <linux-kernel@...r.kernel.org>,
"lkp@...ts.01.org" <lkp@...ts.01.org>, lkp <lkp@...el.com>,
"Huang, Ying" <ying.huang@...el.com>,
"Tang, Feng" <feng.tang@...el.com>,
"zhengjun.xing@...ux.intel.com" <zhengjun.xing@...ux.intel.com>,
"Yin, Fengwei" <fengwei.yin@...el.com>
Subject: Re: [x86/signal] 3aac3ebea0: will-it-scale.per_thread_ops -11.9%
regression
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?
Either way, it seems like 0day botched this a bit. '3aac3ebea0' wasn't
the actual culprit, it was the patch before.
Powered by blists - more mailing lists