Page MenuHomeFreeBSD

In preparation for switching linuxulator to the use the native 1:1 threads refactor kern_sched_rr_get_interval() and sys_sched_rr_get_interval(). Add a kern_sched_rr_get_interval() counterpart which takes a targettd parameter to allow specify...
ClosedPublic

Authored by dchagin on Oct 31 2014, 6:19 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, May 6, 11:12 PM
Unknown Object (File)
Mon, May 6, 11:07 PM
Unknown Object (File)
Thu, May 2, 8:30 PM
Unknown Object (File)
Jan 5 2024, 5:35 PM
Unknown Object (File)
Dec 25 2023, 9:36 AM
Unknown Object (File)
Dec 24 2023, 5:10 PM
Unknown Object (File)
Dec 19 2023, 10:59 PM
Unknown Object (File)
Dec 14 2023, 10:03 PM
Subscribers

Details

Summary

...target thread directly by callee (new Linuxulator).

Linuxulator temporarily uses first thread in proc.

Move linux_sched_rr_get_interval() to the MI part.

While here rename e to a better name error.

Diff Detail

Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

dchagin retitled this revision from to In preparation for switching linuxulator to the use the native 1:1 threads refactor kern_sched_rr_get_interval() and sys_sched_rr_get_interval(). Add a kern_sched_rr_get_interval() counterpart which takes a targettd parameter to allow specify....
dchagin updated this object.
trasz added inline comments.
sys/compat/linux/linux_misc.c
1934

Is the size and layout of l_timespec the same for 32 and 64 bit Linux binaries?

sys/kern/p1003_1b.c
314

Hm, another case of "asymetrical locking" - kern_sched_rr_get_interval_td() called with proc lock held, and dropping it, instead of leaving it to the caller.

sys/compat/linux/linux_misc.c
1934

no, l_timespec machine dependent, declared in MD linux.h

Fixed asymetrical locking, leave unlocking to the caller.

sys/compat/linux/linux_misc.c
1934

How does it work for both 32 and 64 bit Linux binaries at the same time, then?

sys/compat/linux/linux_misc.c
1934

not sure what understand the question correctly

  1. see lines 1952, 1953
  2. linux_misc.c compiled twice, for linux64.ko and linux.ko. and for the linux.ko COMPAT_LINUX32 defined.
trasz added a reviewer: trasz.

Ah, it's built twice; that explains. Thanks, the change looks fine.

This revision is now accepted and ready to land.Dec 8 2014, 10:22 AM
This revision was automatically updated to reflect the committed changes.