From owner-svn-src-head@freebsd.org Mon Apr 10 20:26:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3058AD38BD8; Mon, 10 Apr 2017 20:26:05 +0000 (UTC) (envelope-from pkelsey@gmail.com) Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F372FCAB; Mon, 10 Apr 2017 20:26:04 +0000 (UTC) (envelope-from pkelsey@gmail.com) Received: by mail-pg0-x242.google.com with SMTP id o123so27070116pga.1; Mon, 10 Apr 2017 13:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=2MKwh83P0V6tdM0xOKCyMmLz3e4eJn92TpXzNxxV6K4=; b=R13nbTPkXGYKJNI6EYBgXmvhImebHduG6ym3CZb7ToYg4qwtiw7SL+uQNO/PWup3/Y 6bH4+6tfo8hmbUU7Px+aSEZfQiIpkcnX5LXwSPxxeJIibYEPpAkmLlLJBchV0ucA5D6B Z8TUJmt97POzLeIttmqcwDQW+iHPU8ET2IEUhrLfZdoAswQKeq3sz9izOCTbFygCtUW6 q02jpXpPOOop2EG+D7BI/T2UOul84qfQJTt9w8289AbttRahimbmfbs4NGhb+tt07ksY fa5hjGkW+UYBcuX9a0AqtjxZJBUx0ioe+PPcB5lnFSwV9g3IHw3B/zCAxbwwbuzrb1cM /Haw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=2MKwh83P0V6tdM0xOKCyMmLz3e4eJn92TpXzNxxV6K4=; b=s73cVCVQYgzECDjtZPX9+GXEH7zRMhcGyNy0IS6yjHvn0wMmTimkdUQ8GmYln7w2OC 8oxMiFmvhZ+SKlhoZXbOO9qaRg8Lt+frSFTNUpZGJ+Z8xghIdu/Z65KHILJkoMRQiEnG a7QOlF/4qsZj08GwpqQMvOVF06JjXCYMKgu5X4bxWNQCB4HufA3kYeKPlC7auUnDhoJ2 zZH3MrbEMo2gRF35fxH8bknsx0lE/trKl0G2VnP12cAbW3RLK40hkqVZupbXAM7TbT1A TbDi/qzLmMYpHBbih2RWSUKG7Lq9f1TviilicAHncPCx6un5mImh005elUlpoAj93YXI ZycA== X-Gm-Message-State: AFeK/H2t2d7mTScUu8Ud1tMeKoK45Ix3SyeqZXIzo3BlhxrlGm0F4pcCIBYVfZQj0CxcGXxcrO+MsGi5J+aDdg== X-Received: by 10.98.11.218 with SMTP id 87mr55227440pfl.214.1491855964432; Mon, 10 Apr 2017 13:26:04 -0700 (PDT) MIME-Version: 1.0 Sender: pkelsey@gmail.com Received: by 10.100.162.34 with HTTP; Mon, 10 Apr 2017 13:26:03 -0700 (PDT) In-Reply-To: <3233183.B722KJrnTC@ralph.baldwin.cx> References: <201704090200.v39203Vf072867@repo.freebsd.org> <0da40261-7829-8d63-c4aa-775a028367a2@FreeBSD.org> <3233183.B722KJrnTC@ralph.baldwin.cx> From: Patrick Kelsey Date: Mon, 10 Apr 2017 16:26:03 -0400 X-Google-Sender-Auth: n2cwKOQheJKgt8BaYt0iDis21Ak Message-ID: Subject: Re: svn commit: r316648 - in head/sys: amd64/amd64 amd64/include arm/arm arm/include arm64/include cddl/dev/dtrace/aarch64 cddl/dev/dtrace/amd64 cddl/dev/dtrace/arm cddl/dev/dtrace/i386 cddl/dev/dtrace... To: John Baldwin Cc: Jung-uk Kim , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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: Mon, 10 Apr 2017 20:26:05 -0000 On Mon, Apr 10, 2017 at 1:43 PM, John Baldwin wrote: > On Monday, April 10, 2017 01:23:04 PM Jung-uk Kim wrote: > > On 04/08/2017 22:00, Patrick Kelsey wrote: > > > Author: pkelsey > > > Date: Sun Apr 9 02:00:03 2017 > > > New Revision: 316648 > > > URL: https://svnweb.freebsd.org/changeset/base/316648 > > > > > > Log: > > > Corrected misspelled versions of rendezvous. > > > > > > The MFC will include a compat definition of > smp_no_rendevous_barrier() > > > that calls smp_no_rendezvous_barrier(). > > > > > > Reviewed by: gnn, kib > > > MFC after: 1 week > > > Differential Revision: https://reviews.freebsd.org/D10313 > > ... > > > > We knew about the problem but we didn't fix it because it breaks KPI. > > For example, sysutils/virtualbox-ose-kmod. If you really want to MFC > > this change, you have to implement shims. > > Also, the function isn't actually called, but is only used in comparisons > in smp_rendezvous_action(). To do a compat shim you will need to either > change these comparisons to compare against both function pointers or > define the alternate symbol as an alias of the existing function. That > only helps the KBI though. For the KPI would just use a #define to point > to the new name. > That's a good point about the comparisons in smp_rendezvous_action() - if I had managed to miss that detail all the way through the compat shim implementation, it would have littered pointless empty function invocations and atomic increments into all the uses of smp_rendezvous() that used smp_no_rendezvous_barrier for at least one of the stages. I don't think we have an established place to define machine-independent symbol aliases. Approaching that through linker scripts would require spamming a PROVIDE() statement into each of the arch-specific scripts. Since this is a function, I think a better way than the symbol alias + #define approach would be to just define a function pointer called smp_no_rendevous_barrier that gets statically initialized to smp_no_rendezvous_barrier. In that case, the extern decl takes care of the KPI, the corresponding symbol definition takes care of the KBI, and it has a minimal, MI, code footprint. > > Also, as Jung-uk notes, this already breaks virtualbox on HEAD, so you will > need to patch the port now, not only if you MFC. Either that, or I relax the goal of purging it entirely and put the compat shim in current also to sidestep the port-patching issue. -Patrick