[DTrace-devel] [PATCH] cg: implement concurrent probe execution protection

Nick Alcock nick.alcock at oracle.com
Mon Mar 4 18:53:08 UTC 2024


On 4 Mar 2024, Kris Van Hees via DTrace-devel stated:

> +	 *	if (dctx.mst->prid != 0)// jne %r1, 0, lbl_fast
> +	 *		goto exit;
>  	 *	dctx.mst = rc;		// stdw [%r9 + DCTX_MST], %r7
>  	 *	dctx.mst->prid = PRID;	// stw [%r7 + DMST_PRID], PRID

Isn't this still a little racy? What happens if the probe is preempted
after the conditional but before the assignment? Don't you get two
concurrent probe executions?



More information about the DTrace-devel mailing list