Messages in this thread | | | Date | Thu, 6 Jan 2005 20:13:54 -0800 (PST) | From | selvakumar nagendran <> | Subject | Re: finding process blocking on a system call |
| |
> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |