public inbox for dtrace@lists.linux.dev
 help / color / mirror / Atom feed
From: Eugene Loh <eugene.loh@oracle.com>
To: dtrace@lists.linux.dev, dtrace-devel@oss.oracle.com
Subject: Re: [DTrace-devel] [PATCH 29/38] Allow relocation of the ERROR PRID
Date: Fri, 19 Jul 2024 19:49:55 -0400	[thread overview]
Message-ID: <39ae3ddc-769a-baf7-ee4f-6d91629e91c4@oracle.com> (raw)
In-Reply-To: <ZprddULVHQOJhnpT@oracle.com>

Yeah.  This patch was superseded by a v2 (Jun 27), which acknowledges 
your point.  It's "simpler" to say "3".  It is arguably more robust to 
set the value during relocation.  I figured I'd do it the "more robust" 
way and am happy to be talked into the simpler patch.

I'll wait for your comments on the v2 patch.  If there you say the extra 
effort is not worth it, I'll post a v3 with the simpler version.

On 7/19/24 17:41, Kris Van Hees wrote:
> Why is this patch needed?  As far as I can see, BEGIN, END, and ERROR are
> always created as the first 3 probes (in that order), so they will have probe
> IDs 1, 2, and 3.
>
> On Thu, Jun 27, 2024 at 01:38:55AM -0400, eugene.loh--- via DTrace-devel wrote:
>> From: Eugene Loh <eugene.loh@oracle.com>
>>
>> Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
>> ---
>>   libdtrace/dt_bpf.h   | 1 +
>>   libdtrace/dt_cc.c    | 3 +++
>>   libdtrace/dt_dlibs.c | 1 +
>>   3 files changed, 5 insertions(+)
>>
>> diff --git a/libdtrace/dt_bpf.h b/libdtrace/dt_bpf.h
>> index 5b2df264..58cf29cc 100644
>> --- a/libdtrace/dt_bpf.h
>> +++ b/libdtrace/dt_bpf.h
>> @@ -56,6 +56,7 @@ extern "C" {
>>   #define DT_CONST_ZERO_OFF		22
>>   #define DT_CONST_STACK_OFF		23
>>   #define DT_CONST_STACK_SKIP		24
>> +#define DT_CONST_ERROR_PRID		25
>>   
>>   #define DT_BPF_LOG_SIZE_DEFAULT	(UINT32_MAX >> 8)
>>   #define DT_BPF_LOG_SIZE_SMALL	4096
>> diff --git a/libdtrace/dt_cc.c b/libdtrace/dt_cc.c
>> index d1ee3843..3d9a9c79 100644
>> --- a/libdtrace/dt_cc.c
>> +++ b/libdtrace/dt_cc.c
>> @@ -1076,6 +1076,9 @@ dt_link_construct(dtrace_hdl_t *dtp, const dt_probe_t *prp, dtrace_difo_t *dp,
>>   				nrp->dofr_data = sizeof(uint64_t)
>>   				    * dtp->dt_options[DTRACEOPT_MAXFRAMES];
>>   				continue;
>> +			case DT_CONST_ERROR_PRID:
>> +				nrp->dofr_data = dtp->dt_error->desc->id;
>> +				continue;
>>   			case DT_CONST_BOOTTM:
>>   				if (boottime == 0 && get_boottime())
>>   					return -1;
>> diff --git a/libdtrace/dt_dlibs.c b/libdtrace/dt_dlibs.c
>> index bc883e11..1fb561ad 100644
>> --- a/libdtrace/dt_dlibs.c
>> +++ b/libdtrace/dt_dlibs.c
>> @@ -80,6 +80,7 @@ static const dt_ident_t		dt_bpf_symbols[] = {
>>   	DT_BPF_SYMBOL_ID(STBSZ, DT_IDENT_SCALAR, DT_CONST_STBSZ),
>>   	DT_BPF_SYMBOL_ID(STRSZ, DT_IDENT_SCALAR, DT_CONST_STRSZ),
>>   	DT_BPF_SYMBOL_ID(STKSIZ, DT_IDENT_SCALAR, DT_CONST_STKSIZ),
>> +	DT_BPF_SYMBOL_ID(ERROR_PRID, DT_IDENT_SCALAR, DT_CONST_ERROR_PRID),
>>   	DT_BPF_SYMBOL_ID(BOOTTM, DT_IDENT_SCALAR, DT_CONST_BOOTTM),
>>   	DT_BPF_SYMBOL_ID(NSPEC, DT_IDENT_SCALAR, DT_CONST_NSPEC),
>>   	DT_BPF_SYMBOL_ID(NCPUS, DT_IDENT_SCALAR, DT_CONST_NCPUS),
>> -- 
>> 2.18.4
>>
>>
>> _______________________________________________
>> DTrace-devel mailing list
>> DTrace-devel@oss.oracle.com
>> https://oss.oracle.com/mailman/listinfo/dtrace-devel

  reply	other threads:[~2024-07-19 23:58 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-27  5:38 [PATCH 20/38] Add a hook for a provider-specific "update" function eugene.loh
2024-06-27  5:38 ` [PATCH 21/38] Add some comments eugene.loh
2024-07-19 20:39   ` Kris Van Hees
2024-06-27  5:38 ` [PATCH 22/38] Fix aggs comment in dt_cg_tramp_prologue_act() eugene.loh
2024-07-19 20:44   ` Kris Van Hees
2024-07-19 23:15     ` Eugene Loh
2024-06-27  5:38 ` [PATCH 23/38] test: Clean up the specsize tests eugene.loh
2024-06-27  5:38 ` [PATCH 24/38] test: Make test independent of specific PC eugene.loh
2024-07-19 21:02   ` Kris Van Hees
2024-07-22  0:05     ` Eugene Loh
2024-06-27  5:38 ` [PATCH 25/38] test: Clean up tests still expecting obsolete "at DIF offset NN" eugene.loh
2024-07-19 21:08   ` Kris Van Hees
2024-06-27  5:38 ` [PATCH 26/38] test: Annotate xfail (chill not implemented yet) eugene.loh
2024-07-19 21:12   ` Kris Van Hees
2024-07-19 23:38     ` Eugene Loh
2024-10-29 15:05       ` Kris Van Hees
2024-10-29 21:13         ` Eugene Loh
2024-06-27  5:38 ` [PATCH 27/38] test: Fix the speculative tests that checked bufsize eugene.loh
2024-06-27  5:38 ` [PATCH 28/38] Remove unused "next" arg from dt_flowindent() eugene.loh
2024-08-28 19:41   ` Kris Van Hees
2024-06-27  5:38 ` [PATCH 29/38] Allow relocation of the ERROR PRID eugene.loh
2024-07-19 21:41   ` [DTrace-devel] " Kris Van Hees
2024-07-19 23:49     ` Eugene Loh [this message]
2024-06-27  5:38 ` [PATCH 30/38] Allow relocation on BPF_OR instructions eugene.loh
2024-07-19 21:34   ` Kris Van Hees
2024-09-30 21:19     ` Kris Van Hees
2024-09-30 22:00       ` Eugene Loh
2024-06-27  5:38 ` [PATCH 31/38] Fix dt_pebs_init() call eugene.loh
2024-08-26 14:30   ` Kris Van Hees
2024-08-26 15:42     ` Eugene Loh
2024-08-26 16:20       ` Kris Van Hees
2024-08-28 20:57         ` Eugene Loh
2024-08-28 21:16           ` Kris Van Hees
2024-08-30  0:54             ` Eugene Loh
2024-08-30  2:26               ` [DTrace-devel] " Kris Van Hees
2024-08-30  5:42                 ` Eugene Loh
2024-08-30 16:53                   ` Kris Van Hees
2024-08-30 19:06                     ` Eugene Loh
2024-08-30 20:07                       ` Kris Van Hees
2024-06-27  5:38 ` [PATCH 32/38] Widen the EPID to include the PRID eugene.loh
2024-06-27  5:38 ` [PATCH 33/38] Eliminate dt_pdesc eugene.loh
2024-06-27  5:39 ` [PATCH 34/38] Create the BPF uprobes map eugene.loh
2024-06-27  5:39 ` [PATCH 35/38] Use uprobes map to call clauses conditionally eugene.loh
2024-06-27  5:39 ` [PATCH 36/38] Inline copyout_val() eugene.loh
2024-06-27  5:39 ` [PATCH 37/38] Fix some dctx->mst->specsize comments eugene.loh
2024-07-18 20:41   ` Kris Van Hees
2024-06-27  5:39 ` [PATCH 38/38] Systemwide USDT WIP eugene.loh
2024-07-19 20:31 ` [PATCH 20/38] Add a hook for a provider-specific "update" function Kris Van Hees
2024-07-20  0:08   ` Eugene Loh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=39ae3ddc-769a-baf7-ee4f-6d91629e91c4@oracle.com \
    --to=eugene.loh@oracle.com \
    --cc=dtrace-devel@oss.oracle.com \
    --cc=dtrace@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox