Messages in this thread | | | Date | Thu, 24 Mar 2005 11:03:21 +0000 (GMT) | From | sounak chakraborty <> | Subject | Re: sched.c function |
| |
> Tasks do not change their state without holding a > lock. (There is an exception, > but it is justified.) list after that.. > > So you want to record task state changes? That is > better done at the right > places in the kernel rather than traversing the task > list repeatedly (the > latter is not that performant).
So you want to say that only one task could be running at a single time
but how to know which one is there any way without traversing the task list previously i thought of for_each_process(p) if(p->state==running)
but without this how to find which process is currently running and other are sleeping may it is through "current"
since the current->pid is only running but i have to run this repeatedly to get the information of currently running process(since this may be for a fraction of a second and i can miss that process if my loop is longer) how to do that fast timer or any other way i am little bit confused
> I would be interested in the background: what do you > need to know the task > states for?
i want to develop a task manager for threads. the application reads properly the process information and the thread information but not able to refresh the thread information as i am building my own proc file where only threads are there i am distinguishing between process and thread at fork.c with clone_vm set..
therefore i need to know which thread is currently running or not
there is another problem i am discusing with you
i want to distinguish between thread and process and after distinguishing between user thread and kernel thread but i am unable to find any condition which will be true for kernel level thread during creation and false for user level thread can you help me in this also thanks sounak
________________________________________________________________________ Yahoo! India Matrimony: Find your partner online. http://yahoo.shaadi.com/india-matrimony/ - 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/
| |