Messages in this thread | | | From | "Bae, Chang Seok" <> | Subject | Re: [x86/signal] 3aac3ebea0: will-it-scale.per_thread_ops -11.9% regression | Date | Tue, 7 Dec 2021 22:17:25 +0000 |
| |
On Dec 7, 2021, at 12:36, Thomas Gleixner <tglx@linutronix.de> wrote: > On Tue, Dec 07 2021 at 18:49, Chang Seok Bae wrote: >> On Dec 7, 2021, at 05:38, Thomas Gleixner <tglx@linutronix.de> wrote: >>> >>> Does that use sigaltstack() ? >> >> FWIW, I was also wondering about this with: >> >> $ git clone https://github.com/antonblanchard/will-it-scale.git >> $ cd will-it-scale/ >> $ git grep sigaltstack >> $ >> >> But, the test seems to use python via runtest.py. And the python code has >> sigaltstack(): >> https://github.com/python/cpython/blob/main/Modules/faulthandler.c#L454 > > But how does that affect the test written in C? Mysterious!
Indeed, I can only see the sigaltstack() trace via the python script.
$ strace -f python3.7 ./runtest.py signal1 1>out 2>err $ grep -r sigaltstack err sigaltstack({ss_sp=0xe13f50, ss_flags=0, ss_size=16384}, {ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}) = 0 …
$ strace -f ./signal1_processes 1>out 2>err $ grep -r sigaltstack err $ strace -f ./signal1_threads 1>out 2>err $ grep -r sigaltstack err $
I don’t get how this syscall could contribute 11% degradation in this test.
BTW, the current code rejects the reported instruction here:
$ python3.7 ./runtest.py signal1 295 thread 16 Usage: runtest.py <testcase>
Thanks, Chang
| |