From owner-dev-commits-src-branches@freebsd.org Mon Feb 1 13:53:36 2021 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7158F52A5F4; Mon, 1 Feb 2021 13:53:36 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (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 did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DTqD02DNyz3QlN; Mon, 1 Feb 2021 13:53:35 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id D438C26019D; Mon, 1 Feb 2021 14:53:34 +0100 (CET) Subject: Re: git: fc301c224b27 - stable/13 - atomic: add stub atomic_load_consume_ptr To: Mateusz Guzik , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org References: <202102011240.111CeiX9094867@gitrepo.freebsd.org> From: Hans Petter Selasky Message-ID: <84f152e1-b1ed-b331-ab45-261dd3996903@selasky.org> Date: Mon, 1 Feb 2021 14:53:22 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: <202102011240.111CeiX9094867@gitrepo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4DTqD02DNyz3QlN X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the stable branches of the FreeBSD src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Feb 2021 13:53:36 -0000 On 2/1/21 1:40 PM, Mateusz Guzik wrote: > +/* > + * Currently all architectures provide acquire and release fences on their own, > + * but they don't provide consume. Kludge below allows relevant code to stop > + * openly resorting to the stronger acquire fence, to be sorted out. > + */ > +#define atomic_load_consume_ptr(p) \ > + ((__typeof(*p)) atomic_load_acq_ptr((uintptr_t *)p)) > + Are you missing: CTASSERT(sizeof(*p) == sizeof(void *)) ???? --HPS