From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6RrNND3VuWjrEhQAWB0awg (envelope-from ) for ; Thu, 04 Sep 2025 14:06:53 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=lists.lttng.org header.i=@lists.lttng.org header.a=rsa-sha256 header.s=default header.b=QbFdtUGd; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D4A2F1E087; Thu, 04 Sep 2025 14:06:53 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=no autolearn_force=no version=4.0.1 Received: from lists.lttng.org (lists.lttng.org [158.69.130.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 1D19B1E047 for ; Thu, 04 Sep 2025 14:06:53 -0400 (EDT) ARC-Filter: OpenARC Filter v1.2.1 lists.lttng.org 4cHnVZ2vYTz1vWq ARC-Seal: i=1; d=lists.lttng.org; s=arc1; a=rsa-sha256; cv=none; t=1757009206; b=MBmbLLYjWsTDgjvs66GNhA8Fq1gRqVxlv8Z6Pq7Klk1zo2pRusbiy97s4XJN0lrjaZGy jo4vf5d944K1ja4ACfmvwV1bhcvTQMwN42VwmvPwky+GwdCZS/fEVrzjPp/qSO9qnxL6q STA+a9AL2pvTDykMDDtd6hnlI80dOGf4YkKKLGKzmeSxh4fCVVKQb8lH997QBUsWXY2lG rPrEkXoCtqHqWKiCrlVCCjkr4x+79FaQNv7ypPUJG62eTpK2Fvmv5ySZWfCIyOGqE3/Oe +jWU1Y5tbmTvwNn2Gd5Tn0KgO0SYzfqDHrEp2l1Hes7ZAUaaGDSqJGmd3Yea1xCVbZQ== ARC-Message-Signature: i=1; d=lists.lttng.org; s=arc1; a=rsa-sha256; c=relaxed/simple; t=1757009206; h=DKIM-Signature:MIME-Version:Date:Message-ID:Subject:To:From:From; bh=UNlm9ytFzZP+tqUypqE9euHNV9YiPB9YZM0dmZh1aCk=; b=Jkhyra2ouVfIR7Inb85VMMG6i9b71XOnbU77Dguq9uAuPDCKLiPxHgLh+fRDOd8qVxgl ItlEDG7NgCF6Zg4GKNsoJ0F/aEpanszcsi2Ypz/wdFq+/Vx6h+hv9GDslOyzj1+yYA5Fl +UEbxXBKh9nIAsL8TmhpwH+aMzDRIfC1vgyt5Ede8UCI+GWhCJCJL9LPJ2Nzr5yCTz9IG D4Wj0/gb48YSW54THMQk3gaHEdw8NZsRZxqFj0Go4nqA2fnQbJmwhx40S62D/Zzjl4Bqb h/aXfHADWLbvb33l7LM9mwAx9QfznQKYNyn8IxhCjRguEm2FbvqWQ5w1FTkrTRJwK0w== ARC-Authentication-Results: i=1; lists.lttng.org; arc=none smtp.remote-ip="::1" DKIM-Filter: OpenDKIM Filter v2.11.0 lists.lttng.org 4cHnVZ2vYTz1vWq DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1757009206; bh=UNlm9ytFzZP+tqUypqE9euHNV9YiPB9YZM0dmZh1aCk=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=QbFdtUGdKkf365K0kDK2Yn6Es8APTNwDdzOMMfayVcbdQqj4xO7OJpEGVeh9/o58R qNWWYobm79ki4k3txkZM7hyt3LCb+PwPJMElo5bcugchNMzI1lSLSi1o/U97M/mt3W PTjQenvL1PPqOKqb0aIT/OlcPf/RZpohQqQtLcZW06Kx7NMjXNr0A4yg94g1kFEp3c BwyrJJNjULh/O7Dd5Bex+8rPnbiE/6PDfGEcgwm51oaPj7fIAHPN1t+O7WEmyxXaHs 1mYEwT5blwrSSk/rsZFoBV8PGvyAIzMisBgggIuDQZrJ1a8J2NGsWDA97N94+CSfLw tzjRx+qcAJRfA== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4cHnVZ2vYTz1vWq; Thu, 4 Sep 2025 14:06:46 -0400 (EDT) ARC-Filter: OpenARC Filter v1.2.1 lists.lttng.org 4cHnVX4gDgz1vWf DKIM-Filter: OpenDKIM Filter v2.11.0 lists.lttng.org 4cHnVX4gDgz1vWf Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by lists.lttng.org (Postfix) with ESMTPS id 4cHnVX4gDgz1vWf for ; Thu, 4 Sep 2025 14:06:44 -0400 (EDT) Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b0475ce7f41so256043666b.1 for ; Thu, 04 Sep 2025 11:06:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757009198; x=1757613998; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=J1ojAG4Q9+qalxAZQhcWSR+03UMjkkBJUS41Qk6/oD8=; b=g641IJF25lDP09V7JKrYJtUvwRiobQT3IhO3cKgWJ4fCdyd5gSvHYKnA+OOj/un7G9 5cKg7YYs/mGJ3kVvDL7/qwkdeHZMVER3pGa+pLMSfUphKJuJU0YQmX7luuNEEnrrouZn McdIhL+sfmMMhfcK34ZacrJbFj35yyxWWLAf268iQGllRbk22dfTXNrhZX69trAgir8d V1PlfRCs9CQGq5kWpHBpmuDkCvdd/BLWxXXdYDkAitCl6JGKr7XJpDAkoc3rUIO9bjdg AP2o/iHX2uSRb6fWM482oJwpdBWmrCmTrEed7QVsEnN4Y+FydXaSYr/S1aZxahdJFNpY Enmw== X-Forwarded-Encrypted: i=1; AJvYcCUjWcYfo3GruH/mBtNxDyzU/JNH4RGL6HTr2H+Fb5FBW6H/onzbNYwHK64wrjH4CTwKKOJF9PMfE04=@lists.lttng.org X-Gm-Message-State: AOJu0YxnDIJTsIT9rAGKxxy6qhYZfO6USmFsyCDh4eDK4rmO4pYFgFsv Ei2jeSL7BPc6sZT2qDURSv1EQHCBacaG4859w4z6crpXHnOfGr+HcaJPsuZZsLhrO0i0QS1aBDl dxLaMh8bek9u2u+4jTAJVqyowM2KKHz4= X-Gm-Gg: ASbGncvW1NA6Iry46QbZjSl52SSjAg0NpvgK1T3vcdgFCs3Wyr2Fkqi6RFcdGWh3ZSU WFdwTorpCT1PFxzywUDxeqqpvF6Sfy4bXa6KsGni9CSmE9PYcDa5np9YY5CYgXK1dGXacqyxa8O ZCjKmEAbYVQtAAvjqIQtYLK6/VOJ9NP+5rxRPOUe34DpZWXyu1cAK9cww757EZkzwQLi1g6aSqk HpyaQVJyXuzwdrr X-Google-Smtp-Source: AGHT+IEObLgWSXtfFwlUvJsNWA0TaPmJ3ido8Ik3UDF07fH9P71F1uOPu3ZRX0hujB7v2P4Hw651UQjIdO68byAtcsk= X-Received: by 2002:a17:907:7ba0:b0:afe:194c:b45f with SMTP id a640c23a62f3a-b01d971906dmr2102384866b.37.1757009197937; Thu, 04 Sep 2025 11:06:37 -0700 (PDT) MIME-Version: 1.0 References: <3c49eadb-f310-46b2-984d-58a0c193cde9@efficios.com> <2f0dc1b4-3fcb-453c-aa42-4a1f85623300@paulmck-laptop> <87y0qwwc6j.fsf@laura> In-Reply-To: <87y0qwwc6j.fsf@laura> Date: Thu, 4 Sep 2025 20:06:26 +0200 X-Gm-Features: Ac12FXyc-i9cQ2wmRrLnvdQlTYv0luEeC3aYy2UW50xeYz2COOmtfLB1whPNU0U Message-ID: Subject: Re: URCU feature request? To: Olivier Dion Content-Type: multipart/alternative; boundary="0000000000001c3987063dfd95c9" X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Thobias Knudsen via lttng-dev Reply-To: Thobias Knudsen Cc: lttng-dev@lists.lttng.org Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" --0000000000001c3987063dfd95c9 Content-Type: text/plain; charset="UTF-8" > I am confuse about the overall discussion here. Are we talking about > static checking of RCU pointers usage or runtime checking? > > Is is possible to see the implementation you made so I can understand > better? Sorry for being late to answer :/ The library overrides a subset of urcu and lfht functions with macros and replaces them with other functions which checks in runtime if the functions are called in the correct order. here is the code: https://github.com/ThobiasKnudsen/urcu_lfht_safe ons. 3. sep. 2025 kl. 03:35 skrev Olivier Dion : > On Tue, 02 Sep 2025, Thobias Knudsen via lttng-dev < > lttng-dev@lists.lttng.org> wrote: > > Yes but all read/write operations doesn't have the syntax of a function > as > > you used in the example here i.e. use(...). When it is a function you can > > easily just change the implementation to check if it is called inside a > > read section. Some reads and writes are usually done by this syntax (a = > b) > > and '=' cannot be overridden. > > > > BTW just saying that what we're talking about now is not the original > > topic, but if someone has an elegant solution to this that would be > > nice! > > I am confuse about the overall discussion here. Are we talking about > static checking of RCU pointers usage or runtime checking? > > Is is possible to see the implementation you made so I can understand > better? > > Thanks, > Olivier > -- > Olivier Dion > EfficiOS Inc. > https://www.efficios.com > > --0000000000001c3987063dfd95c9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> I am confuse about the overall discussion here.= =C2=A0 Are we talking about
> static checking of RCU pointers usage o= r runtime checking?
>=C2=A0
> Is is possible to see the impleme= ntation you made so I can understand
> better?

So= rry for being late to answer=C2=A0:/
The library overrides a subset of = urcu and lfht functions with macros and replaces them with other functions = which checks in runtime if the=C2=A0functions are called in the correct ord= er.

ons. 3. sep. 2025 kl. 03:35 = skrev Olivier Dion <odion@efficios= .com>:
On= Tue, 02 Sep 2025, Thobias Knudsen via lttng-dev <lttng-dev@lists.lttng.org> = wrote:
> Yes but all read/write operations doesn't have the syntax of a fun= ction as
> you used in the example here i.e. use(...). When it is a function you = can
> easily just change the implementation to check if it is called inside = a
> read section. Some reads and writes are usually done by this syntax (a= =3D b)
> and '=3D' cannot be overridden.
>
> BTW just saying that what we're talking about now is not the origi= nal
> topic, but if someone has an elegant solution to this that would be > nice!

I am confuse about the overall discussion here.=C2=A0 Are we talking about<= br> static checking of RCU pointers usage or runtime checking?

Is is possible to see the implementation you made so I can understand
better?

Thanks,
Olivier
--
Olivier Dion
EfficiOS Inc.
h= ttps://www.efficios.com

--0000000000001c3987063dfd95c9--