lkml.org 
[lkml]   [2023]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 4/7] platform/x86/intel/ifs: Implement Array BIST test
From
On 2/15/23 13:13, Joseph, Jithu wrote:
>
> On 2/15/2023 12:26 PM, Dave Hansen wrote:
>> On 2/15/23 12:22, Joseph, Jithu wrote:
>>> trace_ifs_array(cpu, *((u64 *)&before), *((u64 *)&command));
>> Uhh, you control the types in the tracepoint. Just make them compatible
>> so you don't need casts.
> will change it to:
> trace_ifs_array(cpu, before.array_bitmask, before.array_bank, *((u64 *)&command));
>
> i.e will pass compatible types for array_list and array_bank. And for the last argument, we need to dump the whole 64 bits within "command"
> into trace output . Since the suggested change replaced the union with a struct, it is simplest to cast it to u64 needed by traceoutput.
> So I would prefer to keep the cast for the last argument alone.

<sigh>

Your trace even can literally be:

+ TP_STRUCT__entry(
+ __field(struct ifs_foo, before )
+ __field(struct ifs_foo, after )
+ __field( int, cpu )
+ ),

and then you can just use structure assignment or a memcpy. *That* is
what I mean by compatible types.

But, also, I'm not sure these tracepoints even make any sense. You're
passing raw MSR contents back and forth. Why not just use the MSR
tracepoints? They'll give you the same data.

\
 
 \ /
  Last update: 2023-03-27 00:24    [W:0.107 / U:0.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site