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
John Baldwin
jhb at freebsd.org
Tue Mar 8 21:32:05 UTC 2011
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?
--
John Baldwin
More information about the svn-src-all
mailing list