Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Mar 2011 09:01:23 +0300
From:      Chagin Dmitry <dchagin@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r219405 - in head/sys: amd64/amd64 amd64/linux32 arm/arm compat/ia32 compat/linux compat/svr4 i386/i386 i386/ibcs2 i386/linux ia64/ia64 kern mips/mips powerpc/powerpc sparc64/sparc64 sys
Message-ID:  <20110309060123.GA4088@dchagin.static.corbina.ru>
In-Reply-To: <201103081627.37026.jhb@freebsd.org>
References:  <201103081901.p28J1jjh083821@svn.freebsd.org> <201103081627.37026.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Tue, Mar 08, 2011 at 04:27:36PM -0500, John Baldwin wrote:
> On Tuesday, March 08, 2011 2:01:45 pm Dmitry Chagin wrote:
> > Author: dchagin
> > Date: Tue Mar  8 19:01:45 2011
> > New Revision: 219405
> > URL: http://svn.freebsd.org/changeset/base/219405
> > 
> > Log:
> >   Extend struct sysvec with new method sv_schedtail, which is used for an
> >   explicit process at fork trampoline path instead of eventhadler(schedtail)
> >   invocation for each child process.
> >   
> >   Remove eventhandler(schedtail) code and change linux ABI to use newly added
> >   sysvec method.
> >   
> >   While here replace explicit comparing of module sysentvec structure with the
> >   newly created process sysentvec to detect the linux ABI.
> >   
> >   Discussed with:	kib
> >   
> >   MFC after:	2 Week
> > 
> > Modified: head/sys/compat/linux/linux_emul.c
> > ==============================================================================
> > --- head/sys/compat/linux/linux_emul.c	Tue Mar  8 18:39:41 2011	(r219404)
> > +++ head/sys/compat/linux/linux_emul.c	Tue Mar  8 19:01:45 2011	(r219405)
> > @@ -300,13 +300,16 @@ linux_proc_exec(void *arg __unused, stru
> >  }
> >  
> >  void
> > -linux_schedtail(void *arg __unused, struct proc *p)
> > +linux_schedtail(struct thread *td)
> >  {
> >  	struct linux_emuldata *em;
> > +	struct proc *p;
> >  	int error = 0;
> >  	int *child_set_tid;
> >  
> > -	if (__predict_true(p->p_sysent != &elf_linux_sysvec))
> > +	p = td->td_proc;
> > +
> > +	if (SV_PROC_ABI(p) != SV_ABI_LINUX)
> >  		return;
> 
> Isn't this always false now?
> 

Indeed, even a bit funny. fixed, thanks!!

-- 
Have fun!
chd

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (FreeBSD)

iEYEARECAAYFAk13F7MACgkQ0t2Tb3OO/O3p9QCeJK/F9I43jMxC2vZwTVDsyrLj
E9YAoMfdhgjpbGYv63l3I1Jtu/UD1CsH
=bajL
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110309060123.GA4088>