[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <06412caf-42e4-5c4b-c9b3-9691075405bd@huawei.com>
Date: Tue, 15 Feb 2022 11:16:16 +0000
From: John Garry <john.garry@...wei.com>
To: Leo Yan <leo.yan@...aro.org>, Marco Elver <elver@...gle.com>,
Will Deacon <will@...nel.org>
CC: Thomas Richter <tmricht@...ux.ibm.com>,
<linux-kernel@...r.kernel.org>, <linux-perf-users@...r.kernel.org>,
<acme@...nel.org>, <svens@...ux.ibm.com>, <gor@...ux.ibm.com>,
<sumanthk@...ux.ibm.com>, <hca@...ux.ibm.com>,
"Mark Rutland" <mark.rutland@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, <dvyukov@...gle.com>
Subject: Re: Test 73 Sig_trap fails on arm64 (was Re: [PATCH] perf test: Test
73 Sig_trap fails on s390)
On 24/01/2022 09:19, John Garry wrote:
Hi Will,
Have you had a chance to check this or the mail from Dmitry?
https://lore.kernel.org/linux-perf-users/CACT4Y+YVyJcqbR5j2fsSQ+C5hy78X+aobrUHaZKghFf0_NMv=A@mail.gmail.com/
If we can't make progress then we just need to skip the test on arm64
for now.
Thanks,
John
>
>> On Tue, Jan 18, 2022 at 12:40:04PM +0100, Marco Elver wrote:
>>
>> [...]
>>
>>>> Both Arm and Arm64 platforms cannot support signal handler with
>>>> breakpoint, please see the details in [1]. So I think we need
>>>> something like below:
>>>>
>>>> static int test__sigtrap(struct test_suite *test __maybe_unused, int
>>>> subtest __maybe_unused)
>>>> {
>>>> ...
>>>>
>>>> if (!BP_SIGNAL_IS_SUPPORTED) {
>>>> pr_debug("Test not supported on this architecture");
>>>> return TEST_SKIP;
>>>> }
>>>>
>>>> ...
>>>> }
>>>>
>>>> Since we have defined BP_SIGNAL_IS_SUPPORTED, I think we can reuse
>>>> it at
>>>> here.
>>>>
>>>> [1]https://lore.kernel.org/lkml/157169993406.29376.12473771029179755767.tip-bot2@tip-bot2/
>>>>
>>> Does this limitation also exist for address watchpoints? The sigtrap
>>> test does not make use of instruction breakpoints, but instead just
>>> sets up a watchpoint on access to a data address.
>> Yes, after reading the code, the flow for either instrution breakpoint
>> or watchpoint both use the single step [1], thus the signal handler will
>> take the single step execution and lead to the infinite loop.
>>
>> I am not the best person to answer this question; @Will, could you
>> confirm for this? Thanks!
>>
>> Leo
>>
>> [1]https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/kernel/hw_breakpoint.c
>>
>
> .
Powered by blists - more mailing lists