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
next prev parent 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