diff options
author | rrs <rrs@FreeBSD.org> | 2010-03-03 21:46:51 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2010-03-03 21:46:51 +0000 |
commit | 17cf51b0bb72fa08f25c8a9d75cc5ea8bafbe411 (patch) | |
tree | c9c68201502ab8e8bc6bf2ede01d6073c3665076 /sys/kern/tty_pts.c | |
parent | 555659f03fccad2ea37af5f10d72d2e843df9ec1 (diff) | |
download | FreeBSD-src-17cf51b0bb72fa08f25c8a9d75cc5ea8bafbe411.zip FreeBSD-src-17cf51b0bb72fa08f25c8a9d75cc5ea8bafbe411.tar.gz |
sched_getparam was just plain broke for time-share
processes. It did not return an error but instead
just let garbage be passed back. This I fix so
it actually properly translates the priority the
process is at to a posix's high means more priority.
I also fix it so that if the ULE scheduler has bumped
it up to a realtime process you get back a sane value
i.e. the highest priority (63 for time-share).
sched_setscheduler() had the setting of the
timeshare class priority disabled. With some notes
about rejecting the posix high numbers is greater
priority and use nice instead. This fix also
adjusts that to work, with the cavet that a t-s
process may well get bumped up or down i.e. the
setscheduler() will NOT change the nice value only
the current priority. I think this is reasonable
considering if the user wants to play with nice then
he can. At least all the posix'ish interfaces now
respond sanely.
MFC after: 3 weeks
Diffstat (limited to 'sys/kern/tty_pts.c')
0 files changed, 0 insertions, 0 deletions