Re: [PATCH v4 05/10] signal: Introduce TRAP_PERF si_code and si_perf to siginfo

From: Marek Szyprowski
Date: Wed Apr 21 2021 - 03:35:41 EST


On 21.04.2021 08:21, Marek Szyprowski wrote:
> On 21.04.2021 00:42, Marco Elver wrote:
>> On Tue, 20 Apr 2021 at 23:26, Marek Szyprowski
>> <m.szyprowski@xxxxxxxxxxx> wrote:
>>> On 08.04.2021 12:36, Marco Elver wrote:
>>>> Introduces the TRAP_PERF si_code, and associated siginfo_t field
>>>> si_perf. These will be used by the perf event subsystem to send
>>>> signals
>>>> (if requested) to the task where an event occurred.
>>>>
>>>> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> # m68k
>>>> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> # asm-generic
>>>> Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
>>> This patch landed in linux-next as commit fb6cc127e0b6 ("signal:
>>> Introduce TRAP_PERF si_code and si_perf to siginfo"). It causes
>>> regression on my test systems (arm 32bit and 64bit). Most systems fails
>>> to boot in the given time frame. I've observed that there is a timeout
>>> waiting for udev to populate /dev and then also during the network
>>> interfaces configuration. Reverting this commit, together with
>>> 97ba62b27867 ("perf: Add support for SIGTRAP on perf events") to let it
>>> compile, on top of next-20210420 fixes the issue.
>> Thanks, this is weird for sure and nothing in particular stands out.
>>
>> I have questions:
>> -- Can you please share your config?
>
> This happens with standard multi_v7_defconfig (arm) or just defconfig
> for arm64.
>
>> -- Also, can you share how you run this? Can it be reproduced in qemu?
> Nothing special. I just boot my test systems and see that they are
> waiting lots of time during the udev populating /dev and network
> interfaces configuration. I didn't try with qemu yet.
>> -- How did you derive this patch to be at fault? Why not just
>> 97ba62b27867, given you also need to revert it?
> Well, I've just run my boot tests with automated 'git bisect' and that
> was its result. It was a bit late in the evening, so I didn't analyze
> it further, I've just posted a report about the issue I've found. It
> looks that bisecting pointed to a wrong commit somehow.
>> If you are unsure which patch exactly it is, can you try just
>> reverting 97ba62b27867 and see what happens?
>
> Indeed, this is a real faulty commit. Initially I've decided to revert
> it to let kernel compile (it uses some symbols introduced by this
> commit). Reverting only it on top of linux-next 20210420 also fixes
> the issue. I'm sorry for the noise in this thread. I hope we will find
> what really causes the issue.

This was a premature conclusion. It looks that during the test I've did
while writing that reply, the modules were not deployed properly and a
test board (RPi4) booted without modules. In that case the board booted
fine and there was no udev timeout. After deploying kernel modules, the
udev timeout is back.

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland