Hi, HNY! What about vdso? ср, 1 янв. 2020 г. в 01:01, Edward Tomasz Napierala <tr...@freebsd.org>:
> Author: trasz > Date: Tue Dec 31 22:01:08 2019 > New Revision: 356241 > URL: https://svnweb.freebsd.org/changeset/base/356241 > > Log: > Add basic getcpu(2) support to linuxulator. The purpose of this > syscall is to query the CPU number and the NUMA domain the calling > thread is currently running on. The third argument is ignored. > It doesn't do anything regarding scheduling - it's literally > just a way to query the current state, without any guarantees > you won't get rescheduled an opcode later. > > This unbreaks Java from CentOS 8 > (java-11-openjdk-11.0.5.10-0.el8_0.x86_64). > > Reviewed by: kib > MFC after: 2 weeks > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D22972 > > Modified: > head/sys/amd64/linux/linux_dummy.c > head/sys/amd64/linux32/linux32_dummy.c > head/sys/arm64/linux/linux_dummy.c > head/sys/compat/linux/linux_misc.c > head/sys/i386/linux/linux_dummy.c > > Modified: head/sys/amd64/linux/linux_dummy.c > > ============================================================================== > --- head/sys/amd64/linux/linux_dummy.c Tue Dec 31 18:58:29 2019 > (r356240) > +++ head/sys/amd64/linux/linux_dummy.c Tue Dec 31 22:01:08 2019 > (r356241) > @@ -102,8 +102,6 @@ DUMMY(tee); > DUMMY(vmsplice); > /* Linux 2.6.18: */ > DUMMY(move_pages); > -/* Linux 2.6.19: */ > -DUMMY(getcpu); > /* Linux 2.6.22: */ > DUMMY(signalfd); > /* Linux 2.6.27: */ > > Modified: head/sys/amd64/linux32/linux32_dummy.c > > ============================================================================== > --- head/sys/amd64/linux32/linux32_dummy.c Tue Dec 31 18:58:29 2019 > (r356240) > +++ head/sys/amd64/linux32/linux32_dummy.c Tue Dec 31 22:01:08 2019 > (r356241) > @@ -108,8 +108,6 @@ DUMMY(tee); > DUMMY(vmsplice); > /* Linux 2.6.18: */ > DUMMY(move_pages); > -/* Linux 2.6.19: */ > -DUMMY(getcpu); > /* Linux 2.6.22: */ > DUMMY(signalfd); > /* Linux 2.6.27: */ > > Modified: head/sys/arm64/linux/linux_dummy.c > > ============================================================================== > --- head/sys/arm64/linux/linux_dummy.c Tue Dec 31 18:58:29 2019 > (r356240) > +++ head/sys/arm64/linux/linux_dummy.c Tue Dec 31 22:01:08 2019 > (r356241) > @@ -104,8 +104,6 @@ DUMMY(tee); > DUMMY(vmsplice); > /* Linux 2.6.18: */ > DUMMY(move_pages); > -/* Linux 2.6.19: */ > -DUMMY(getcpu); > /* Linux 2.6.27: */ > DUMMY(signalfd4); > DUMMY(inotify_init1); > > Modified: head/sys/compat/linux/linux_misc.c > > ============================================================================== > --- head/sys/compat/linux/linux_misc.c Tue Dec 31 18:58:29 2019 > (r356240) > +++ head/sys/compat/linux/linux_misc.c Tue Dec 31 22:01:08 2019 > (r356241) > @@ -2353,3 +2353,19 @@ out: > td->td_retval[0] = dst - args->buf; > return (error); > } > + > +int > +linux_getcpu(struct thread *td, struct linux_getcpu_args *args) > +{ > + int cpu, error, node; > + > + cpu = td->td_oncpu; /* Make sure it doesn't change during > copyout(9) */ > + error = 0; > + node = 0; /* XXX: Fake NUMA node 0 for now */ > + > + if (args->cpu != NULL) > + error = copyout(&cpu, args->cpu, sizeof(l_int)); > + if (args->node != NULL) > + error = copyout(&node, args->node, sizeof(l_int)); > + return (error); > +} > > Modified: head/sys/i386/linux/linux_dummy.c > > ============================================================================== > --- head/sys/i386/linux/linux_dummy.c Tue Dec 31 18:58:29 2019 > (r356240) > +++ head/sys/i386/linux/linux_dummy.c Tue Dec 31 22:01:08 2019 > (r356241) > @@ -104,8 +104,6 @@ DUMMY(tee); > DUMMY(vmsplice); > /* Linux 2.6.18: */ > DUMMY(move_pages); > -/* Linux 2.6.19: */ > -DUMMY(getcpu); > /* Linux 2.6.22: */ > DUMMY(signalfd); > /* Linux 2.6.27: */ > _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"