Re: [PATCH v1 02/15] perf report: output trace file name in raw trace dump

From: Alexey Budankov
Date: Tue Oct 20 2020 - 12:32:09 EST



On 12.10.2020 20:06, Alexey Budankov wrote:
>
> On 12.10.2020 19:01, Andi Kleen wrote:
>> On Mon, Oct 12, 2020 at 11:54:24AM +0300, Alexey Budankov wrote:
>>> @@ -180,7 +183,8 @@ static int ordered_events__deliver_event(struct ordered_events *oe,
>>> ordered_events);
>>>
>>> return perf_session__deliver_event(session, event->event,
>>> - session->tool, event->file_offset);
>>> + session->tool, event->file_offset,
>>> + event->file_path);
>>
>> Wouldn't it be better to pass "event" around now, which would contain at least
>> four of the arguments.
>>
>> These functions are getting entirely too many arguments.
>
> Well, either approach is possible, and even shrink of two arguments kept at session object.
> However changing function signature more than posted can cause bigger adjustments all over
> the code. So this needs more evaluation prior implementation.

After brief evaluation it still doesn't look easy. The simplest thing
I could imagine is to probably combine file_path and file_offset at a
struct object on stack and then pass the object by the reference along
function calls. I expect it will roughly cause the same amount of changes
in the code and saves one argument (GP register). It is not that much
but still. However I don't see issues with passing even 6 args on stack.

Alexei