Re: help needed pls. scheduler(kernel 2.6) + hyperthreaded related questions?

From: Arun Srinivas
Date: Wed Mar 23 2005 - 04:49:28 EST


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@xxxxxxxxxxxx>
To: Arun Srinivas <getarunsri@xxxxxxxxxxx>
CC: linux-kernel@xxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/