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)
Oct 2 2024, 3:38 AM
Unknown Object (File)
Sep 26 2024, 12:23 PM
Unknown Object (File)
Sep 24 2024, 2:24 PM
Unknown Object (File)
Sep 24 2024, 9:59 AM
Unknown Object (File)
Sep 18 2024, 7:46 PM
Unknown Object (File)
Sep 18 2024, 5:22 AM
Unknown Object (File)
Sep 18 2024, 2:45 AM
Unknown Object (File)
Sep 18 2024, 12:50 AM
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

Repository
rS FreeBSD src repository - subversion
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
1937

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

sys/kern/p1003_1b.c
317

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
1937

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

Fixed asymetrical locking, leave unlocking to the caller.

sys/compat/linux/linux_misc.c
1937

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

sys/compat/linux/linux_misc.c
1937

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.