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)
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
Unknown Object (File)
Oct 24 2023, 8:24 PM
Unknown Object (File)
Oct 1 2023, 3:01 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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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 ↗(On Diff #2162)

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

sys/kern/p1003_1b.c
314 ↗(On Diff #2162)

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 ↗(On Diff #2162)

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 ↗(On Diff #2162)

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

sys/compat/linux/linux_misc.c
1934 ↗(On Diff #2162)

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.