Backout the feature which can change thread's scheduling option, I really

don't want to mix process and thread scheduling options together in these
functions, now the thread scheduling option is implemented in new thr
syscalls.
This commit is contained in:
David Xu 2006-07-13 06:41:26 +00:00
parent 561a89f945
commit 24af5900eb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=160322
2 changed files with 8 additions and 84 deletions

View File

@ -126,19 +126,11 @@ sched_setparam(struct thread *td, struct sched_setparam_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL)
return (ESRCH);
targettd = FIRST_THREAD_IN_PROC(targetp);
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targetp == NULL) {
PROC_UNLOCK(targetp);
return (ESRCH);
}
}
e = p_cansched(td, targetp);
@ -165,20 +157,12 @@ sched_getparam(struct thread *td, struct sched_getparam_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL) {
return (ESRCH);
}
targettd = FIRST_THREAD_IN_PROC(targetp); /* XXXKSE */
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targettd == NULL) {
PROC_UNLOCK(targetp);
return (ESRCH);
}
}
e = p_cansee(td, targetp);
@ -214,19 +198,11 @@ sched_setscheduler(struct thread *td, struct sched_setscheduler_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL)
return (ESRCH);
targettd = FIRST_THREAD_IN_PROC(targetp);
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targettd == NULL) {
PROC_UNLOCK(targetp);
return (ESRCH);
}
}
e = p_cansched(td, targetp);
@ -252,22 +228,13 @@ sched_getscheduler(struct thread *td, struct sched_getscheduler_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL) {
e = ESRCH;
goto done2;
}
targettd = FIRST_THREAD_IN_PROC(targetp); /* XXXKSE */
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targettd == NULL) {
PROC_UNLOCK(targetp);
e = ESRCH;
goto done2;
}
}
e = p_cansee(td, targetp);
@ -347,11 +314,6 @@ kern_sched_rr_get_interval(struct thread *td, pid_t pid,
targettd = td;
targetp = td->td_proc;
PROC_LOCK(targetp);
} else if (pid <= PID_MAX) {
targetp = pfind(pid);
if (targetp == NULL)
return (ESRCH);
targettd = FIRST_THREAD_IN_PROC(targetp);
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);

View File

@ -126,19 +126,11 @@ sched_setparam(struct thread *td, struct sched_setparam_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL)
return (ESRCH);
targettd = FIRST_THREAD_IN_PROC(targetp);
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targetp == NULL) {
PROC_UNLOCK(targetp);
return (ESRCH);
}
}
e = p_cansched(td, targetp);
@ -165,20 +157,12 @@ sched_getparam(struct thread *td, struct sched_getparam_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL) {
return (ESRCH);
}
targettd = FIRST_THREAD_IN_PROC(targetp); /* XXXKSE */
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targettd == NULL) {
PROC_UNLOCK(targetp);
return (ESRCH);
}
}
e = p_cansee(td, targetp);
@ -214,19 +198,11 @@ sched_setscheduler(struct thread *td, struct sched_setscheduler_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL)
return (ESRCH);
targettd = FIRST_THREAD_IN_PROC(targetp);
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targettd == NULL) {
PROC_UNLOCK(targetp);
return (ESRCH);
}
}
e = p_cansched(td, targetp);
@ -252,22 +228,13 @@ sched_getscheduler(struct thread *td, struct sched_getscheduler_args *uap)
targetp = td->td_proc;
targettd = td;
PROC_LOCK(targetp);
} else if (uap->pid <= PID_MAX) {
} else {
targetp = pfind(uap->pid);
if (targetp == NULL) {
e = ESRCH;
goto done2;
}
targettd = FIRST_THREAD_IN_PROC(targetp); /* XXXKSE */
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);
targettd = thread_find(targetp, uap->pid);
if (targettd == NULL) {
PROC_UNLOCK(targetp);
e = ESRCH;
goto done2;
}
}
e = p_cansee(td, targetp);
@ -347,11 +314,6 @@ kern_sched_rr_get_interval(struct thread *td, pid_t pid,
targettd = td;
targetp = td->td_proc;
PROC_LOCK(targetp);
} else if (pid <= PID_MAX) {
targetp = pfind(pid);
if (targetp == NULL)
return (ESRCH);
targettd = FIRST_THREAD_IN_PROC(targetp);
} else {
targetp = td->td_proc;
PROC_LOCK(targetp);