From nobody Tue Jun 11 03:13:45 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Vytzv4C56z5NV2F; Tue, 11 Jun 2024 03:13:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Vytzv3Wnpz4wkj; Tue, 11 Jun 2024 03:13:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1718075627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mbzGZv4Mc49xYLdn58m9Gv92nckSMVhZxoVgPNAxedI=; b=kxmTaoLmZjcwohiseZDolek0VZMRVTfmp76W5P+bpie6e5tIvLuK3hEGjYjKrNo2jZb068 0+jHADVCS9ZovCaXji0LdqyRZPmMPALXJHW8Lzk/B6VMOgv1bPID2ftHTXlEJOu22ypi6e IsowlOjprl0TZ9n5fu6d5qtInTSE6/UyGKq0trUIzAZaoBZ6SPZgipXcnKeGDL/JvlWJX+ 8o1a6lnesrfAd7xMQxAWrgXy1VAsOT4fMDOInO5PfvIdSvfcMDdnnu/g9mVgD7tRVJo4gg F2zEDJCPskstIkgD4ZlqISscUtYeqy+cGLt2OvGRWxiyk3kMqTaJN8Wg2RMeuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1718075627; a=rsa-sha256; cv=none; b=adxApBotX8DpfGSN2Dz124u/jFjOtSwBzvVxqC33qV29j+HPP80nSSd/HrgjhOI3q7igQX F1F9yXU6QbI0x/FC/xVq9wlvM9S4QYLvioOIO0vL1WAQ9B0k42MJa/Faxr6N6iHm1j7Vb1 +af6SX0s1W+UQzL6MmtYuPoudYVFEoWhSmhNMQGivKSbez/6dx8VSKLKPx+BRnVyeHPpg4 4GHjX+aPCpKR40G2p3uhgxTOTVjZbDw+Gj0d0Vzk6jaUXPjzvRNQSVAmhnRAln4AmCYKa/ kU3qL1NMjGmrsDhREV3ZBYkxIlio5S3DpmUokI2mUN0BxDxjT2FkV1oIX0gRQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1718075627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mbzGZv4Mc49xYLdn58m9Gv92nckSMVhZxoVgPNAxedI=; b=kX9jPmZgPjYDiSNT7rpFK2kfyn3f0gE9c7SJumxKdd2rAft28puICrkFqxgJNSOe8wvVyR XAjaQdjB/DkLM9YvmRO8Mh6Y9j3VJZoardd1wqhR8XMdjtZugDu/OBQ2ZW9ewJeErn0wY3 3PgJoDB9tTPcrFnR7syTnOd4WmVO/7r5TXIkIAD9/POehqNIXbYmQ+p1VYN5pUzzLyEKRQ pEb6cq7XyymMHfi1AxPaD4Dkm6C2UWFpcQhmexq5aUdO/XGrRk6cgJtckwORDDWsieB0cs 83lVkhnMoZq8E84FM82yTQk8wMTn6cvKXGK6l0ZZPhUAUS7Uf9B4GBWUofYJMA== Received: from [10.9.4.95] (unknown [209.182.120.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: kevans/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Vytzv0H3tz1R1V; Tue, 11 Jun 2024 03:13:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Message-ID: <58e93be2-d0bc-403c-8aaf-6d3f5e0dd069@FreeBSD.org> Date: Mon, 10 Jun 2024 22:13:45 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 6e824f371301 - main - time: siginfo_recvd needs to be marked volatile To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202405220537.44M5bugu007292@gitrepo.freebsd.org> Content-Language: en-US From: Kyle Evans In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/31/24 14:52, Konstantin Belousov wrote: > On Wed, May 22, 2024 at 05:37:56AM +0000, Kyle Evans wrote: >> The branch main has been updated by kevans: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=6e824f3713011f7955a4f88fb16445e8e2cbe72c >> >> commit 6e824f3713011f7955a4f88fb16445e8e2cbe72c >> Author: Kyle Evans >> AuthorDate: 2024-05-22 05:36:29 +0000 >> Commit: Kyle Evans >> CommitDate: 2024-05-22 05:37:41 +0000 >> >> time: siginfo_recvd needs to be marked volatile > I do not think so. It happens to work with the compilers we currently use. > Sorry, I meant to respond but it got lost somewhere in the stack. Can you expand on this specifically a bit more? I was under the impression that we'd generally need volatility due to write from SIGINFO handler / read repeatedly from main(), which serves to demonstrate my ignorance here. Is it that there are sufficient side-effect-y things between loads in the wait4() loop that the compiler won't do anything hinky, or more that it's insufficient and should have been fenced as well? >> >> sig_atomic_t does not imply volatility, we must do it ourselves to avoid >> caching of siginfo_recvd loads. > For this purpose, standard provides atomic_signal_fence(). > > You would need to put it before read of siginfo_recvd (after wait4()), and > after update of siginfo_recvd in the signal handler.