Project

General

Profile

Actions

Bug #19

closed

usched questions and a patch

Added by belczyk almost 19 years ago. Updated over 15 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Hello hackers!

I've got a question about the TAILQ_ENTRY(lwp) lwp_procq in struct lwp - why
isn't it a part of lwp_usdata union? Isn't it a usched-dependent data? What
if a different usched wants to hold its lwps in e.g. red-black tree or a
heap?

Another thing I noticed is that usched_set() syscall does not zero the
content of lwp_usdata which makes impossible for the newly selected usched
to distinguish between an lwp it already had on its queue/tree/whatever and
had already put some data into its lwp_usdata, and a 'new' lwp it will get in
the following call to acquire_curproc() from userexit() IIRC.

What do You think about the attached patch?

And one more thing - what do You think about adding another usched API call,
e.g. exiting_curproc() called from exit1() instead of release_curproc() so
that a usched could (1) actually trace lwps during their lifetime and
(2) differentiate between lwps 'only' going into kernel and the ones that do
exit1()?


Files

usched-misc.diff (3.52 KB) usched-misc.diff belczyk, 12/21/2005 06:41 PM
Actions

Also available in: Atom PDF