svn commit: r291171 - in head/sys: amd64/amd64 compat/ia32 i386/i386 kern sys
Oliver Pinter
oliver.pinter at hardenedbsd.org
Fri Dec 11 23:54:38 UTC 2015
On Friday, December 11, 2015, Konstantin Belousov <kostikbel at gmail.com>
wrote:
> On Thu, Dec 10, 2015 at 10:48:11PM +0100, Oliver Pinter wrote:
> > On Thursday, December 10, 2015, Konstantin Belousov <kostikbel at gmail.com
> <javascript:;>>
> > 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 <
> kib at freebsd.org <javascript:;>
> > > <javascript:;>> 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.
>
Okay, thank you for the detailed answer. If
More information about the svn-src-head
mailing list