RE: [PATCH 1/1] tracing: Support reading trace event format file larger than PAGE_SIZE

Shiju Jose
2025-01-08T10:34:05Z

>-----Original Message-----
>From: Steven Rostedt <rostedt@goodmis.org>
>Sent: 07 January 2025 23:19
>To: Shiju Jose <shiju.jose@huawei.com>
>Cc: mhiramat@kernel.org; mathieu.desnoyers@efficios.com; linux-trace-
>kernel@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm
><linuxarm@huawei.com>; Jonathan Cameron
><jonathan.cameron@huawei.com>; tanxiaofei <tanxiaofei@huawei.com>;
>Zengtao (B) <prime.zeng@hisilicon.com>
>Subject: Re: [PATCH 1/1] tracing: Support reading trace event format file larger
>than PAGE_SIZE
>
>On Tue, 7 Jan 2025 18:02:24 -0500
>Steven Rostedt <rostedt@goodmis.org> wrote:
>
>> diff --git a/src/event-parse.c b/src/event-parse.c index
>> 33ed7fb47fff..f2e50b0e8992 100644
>> --- a/src/event-parse.c
>> +++ b/src/event-parse.c
>> @@ -7841,7 +7841,7 @@ static enum tep_errno parse_format(struct
>tep_event **eventp,
>> ret = event_read_format(event);
>> if (ret < 0) {
>> ret = TEP_ERRNO__READ_FORMAT_FAILED;
>> - goto event_parse_failed;
>> + goto event_alloc_failed;
>> }
>>
>> /*
>>
>>
>> As it's OK if it returns that it failed to parse the print format, as
>> it can still read the event. But if it fails to read the fields, then
>> it is basically useless.
>
>And the event you posted would still succeed. And it should succeed actually. It
>just failed to parse the print format. There's a lot of events that do as the print
>format is pretty much full C code, and libtraceveent is not a full C parser. It can
>also call functions that it doesn't know about which means even if it were a full C
>parser it would still fail to parse.
>
>But it does flag the event as "TEP_EVENT_FL_FAILED", and should display
>"[FAILED_TO_PARSE]" when printing the generic output.
>
Ok.
>I still think failing to parse the fields is more of a critical error though. That
>shouldn't happen, and if it does, it should be corrected.

As reported previously, parsing fields succeed in the rasdaemon for CXL events, when format file is larger than
PAGE_SIZE, with the rasdaemon change for reading complete format file.

>
>-- Steve

Thanks,
Shiju