Messages in this thread | ![/](/images/icornerl.gif) | | From | "Arun Srinivas" <> | Subject | Re: help needed pls. scheduler(kernel 2.6) + hyperthreaded related questions? | Date | Wed, 23 Mar 2005 15:17:38 +0530 |
| |
few more trivial Q's (bear with me I'm a newbie to kernel world):
1) As I said I have a process that spawns 2 threads(thread A and B).I am trying to measure the exact time @ which they are being scheduled.For this I am using the rdtsc() (when threads A and B come) in enqueue_task()..where they are being inserted into the priority array. Is this a correct way of measuring?
2) also in task_struct.....is "tgid" the id of my process and each of threads hav a unique pid??
3) I saw frm the kernel docs tht realtime tasks hav priority 0 to 99. So using setscheduler means do I have to enforce a priority in one of these ranges to make my threads as soft/hard realtime task.
thanks in advance for your patience.
>From: Nick Piggin <nickpiggin@yahoo.com.au> >To: Arun Srinivas <getarunsri@hotmail.com> >CC: linux-kernel@vger.kernel.org >Subject: Re: help needed pls. scheduler(kernel 2.6) + hyperthreaded related >questions? >Date: Wed, 23 Mar 2005 18:37:16 +1100 > >Arun Srinivas wrote: >>If the SMT (apart from SMP) support is enabled in the .config file, does >>the kernel recogonize the 2 logical processor as 2 logical or 2 physical >>processors? >> > >You shouldn't be able to select SMT if SMP is not enabled. >If SMT and SMP is selected, then the scheduler will recognise >the 2 processors as logical ones. > >>Also, as the hyperthreaded processor may schedule 2 threads in the 2 >>logical cpu's, and it may not necessarily be form the same process i.e., >>the 2 thread it schedules may be from the same or from the different >>process. >> > >Yes. > >>So, is there any way I can tell the scheduler (assuming I make the >>scheduler recogonize my 2 threads..i.e., it knows their pid) to schedule >>always my 2 threads @ the same time? How do I go abt it? >> > >Use sched_setaffinity to force each thread onto the particular >CPU. Use sched_setscheduler to acquire a realtime scheduling >policy. Then use mutexes to synchronise your threads so they >run the desired code segment at the same time. >
_________________________________________________________________ Screensavers unlimited! http://www.msn.co.in/Download/screensaver/ Download now!
- 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/
| ![\](/images/icornerr.gif) |