From owner-svn-src-head@freebsd.org Thu Sep 12 11:59:46 2019 Return-Path: Delivered-To: svn-src-head@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 4CC2AF3B49; Thu, 12 Sep 2019 11:59:46 +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) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46Tcl51lL4z49pk; Thu, 12 Sep 2019 11:59:44 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2016.home.selasky.org (unknown [62.141.129.235]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 9A51C26047E; Thu, 12 Sep 2019 13:59:37 +0200 (CEST) Subject: Re: svn commit: r351188 - in head/sys: kern sys To: Jeff Roberson , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201908181143.x7IBhxZO011254@repo.freebsd.org> From: Hans Petter Selasky Message-ID: <7fc855eb-ef02-72a7-071f-4b0e13c8db30@selasky.org> Date: Thu, 12 Sep 2019 13:58:51 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 In-Reply-To: <201908181143.x7IBhxZO011254@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 46Tcl51lL4z49pk X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 2a01:4f8:c17:6c4b::2 as permitted sender) smtp.mailfrom=hps@selasky.org X-Spamd-Result: default: False [-4.87 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[selasky.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE(-2.57)[ip: (-9.08), ipnet: 2a01:4f8::/29(-1.98), asn: 24940(-1.79), country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Sep 2019 11:59:46 -0000 On 2019-08-18 13:43, Jeff Roberson wrote: > Author: jeff > Date: Sun Aug 18 11:43:58 2019 > New Revision: 351188 > URL: https://svnweb.freebsd.org/changeset/base/351188 > > Log: > Add a blocking wait bit to refcount. This allows refs to be used as a simple > barrier. > > Reviewed by: markj, kib > Discussed with: jhb > Sponsored by: Netflix > Differential Revision: https://reviews.freebsd.org/D21254 > > Modified: > head/sys/kern/kern_synch.c > head/sys/sys/refcount.h > Hi, I would like to decouple the wait/wakeup logic from the release function, if possible. The main objection here is that we are woken up before any destructor is executed. Also this function is not Giant safe and does neither assert that it can sleep. --HPS