From owner-svn-src-all@freebsd.org Fri Dec 11 13:24:44 2015 Return-Path: Delivered-To: svn-src-all@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 EFA979D7DE4; Fri, 11 Dec 2015 13:24:43 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9AE6A1C0D; Fri, 11 Dec 2015 13:24:43 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id tBBDObtx050885 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Fri, 11 Dec 2015 15:24:38 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua tBBDObtx050885 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id tBBDObHY050851; Fri, 11 Dec 2015 15:24:37 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 11 Dec 2015 15:24:37 +0200 From: Konstantin Belousov To: Oliver Pinter Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r291171 - in head/sys: amd64/amd64 compat/ia32 i386/i386 kern sys Message-ID: <20151211132437.GH82577@kib.kiev.ua> References: <201511230709.tAN79Z4L062228@repo.freebsd.org> <20151210213324.GF82577@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Dec 2015 13:24:44 -0000 On Thu, Dec 10, 2015 at 10:48:11PM +0100, Oliver Pinter wrote: > On Thursday, December 10, 2015, Konstantin Belousov > wrote: > > > On Thu, Dec 10, 2015 at 10:18:19PM +0100, Oliver Pinter wrote: > > > On Mon, Nov 23, 2015 at 8:09 AM, Konstantin Belousov > > wrote: > > > > Author: kib > > > > Date: Mon Nov 23 07:09:35 2015 > > > > New Revision: 291171 > > > > URL: https://svnweb.freebsd.org/changeset/base/291171 > > > > > > > > Log: > > > > Split kerne timekeep ABI structure vdso_sv_tk out of the struct > > > > sysentvec. This allows the timekeep data to be shared between > > similar > > > > ABIs which cannot share sysentvec. > > > > > > > > Make the timekeep_push_vdso() tick callback to the timekeep > > structures > > > > instead of sysentvecs. If several sysentvec share the vdso_sv_tk > > > > structure, we would update the userspace data several times on each > > > > tick, without the change. > > > > > > > > Only allocate vdso_sv_tk in the exec_sysvec_init() sysinit when > > > > sysentvec is marked with the new SV_TIMEKEEP flag. This saves > > > > allocation and update of unneeded vdso_sv_tk for ABIs which do not > > > > provide userspace gettimeofday yet, which are PowerPCs arches right > > > > now. > > > > > > > > Make vdso_sv_tk allocator public, namely split out and export > > > > alloc_sv_tk() and alloc_sv_tk_compat32(). ABIs which share timekeep > > > > data now can allocate it manually and share as appropriate. > > > > > > > > Requested by: nwhitehorn > > > > Tested by: nwhitehorn, pho > > > > Sponsored by: The FreeBSD Foundation > > > > MFC after: 2 weeks > > > > > > Hello Konstantin! > > > > > > Do you plan to MFC back this changes to 10-STABLE in these days? > > > > I decided to not merge the change. > > > > And if I'm not wrong, the rationale behind this decision is the type > stability of struct sysvec / sysent. You are wrong. The modules which use sysentvec are marked as DECLARE_MODULE_TIED(), to designate them as requiring kernel of exactly same version due to KBI issues. I.e. the merge would indeed break KBI, but KBI breakage there is expected and considered acceptable on the stable branch. Mainly, the affected modules are ABI emulators (linux.ko and similar). I got demotivated to merge a prerequisite changes which modified code in kern_sharedpage.c, and do not want to obliterate the code and history on stable/10 with 'fake' merge. This makes the revision you asked about non-mergeable.