Re: finding process blocking on a system call

From: selvakumar nagendran
Date: Thu Jan 06 2005 - 23:15:17 EST


> You can't both block but have it added to the
> runqueue--blocking means
> it does not run... you either need to use
> non-blocking calls or two
> threads. If you want to find the process, top can
> do this
> (interactively) or you can use the /proc filesystem.
>

Hello,
I accept that we can't have a process both blocked
and in the runqueue. See, I want to give a special
state to the process blocked on a particular resource
like semaphore as TASK_BLOCKED and I will not add it
into the wait queue.
If the scheduler picks up this blocked process
again, I will identify the process that is having the
semaphore and I will run that. with this, I am giving
some timeslice of the blocked process to the process
having that resource so that it can release it soon.
So, if a process blocks on the syscall, I will
change the state as TASK_MYSTATE. Since, a process may
block on a system call for many reasons, I am not able
to clearly figure out how can I do that? Can u help me
regarding this?

Thanks,
selva





__________________________________
Do you Yahoo!?
Yahoo! Mail - 250MB free storage. Do more. Manage less.
http://info.mail.yahoo.com/mail_250
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/