Re: problem with printk on SMP-- somebody please help
From: arun srinivasan
Date: Tue Nov 09 2004 - 14:00:48 EST
Can I do a sched_clock() inside activate_task to record the time at
which a task is ready for execution and then can read it by a prink in
I think sched_clock() calls rdtsc() and converts it to nanosecond scale.
or is there any other better way of reading the time at which a task
is being executed?
On Tue, 09 Nov 2004 09:54:56 -0500, Mike Waychison
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> Arun Srinivas wrote:
> > hi
> > I really appreciate your suggestions and as a newcomer eager to learn
> > more from you people.
> > As I said I was able to do printk anywhere in the sched.c (including
> > _activate_task ) on a non-smp kernel and on a smp-kernel I can do it
> > only on the main schedule() function.
> > Also, I would like to add that I am not able to do the macro rdtsc() for
> > reading the timestamp counter in the same function.When I compile the
> > kernel it dosent show any error, but just the printk's and rdtsc()'s get
> > subdued!
> > Well, with reference to your reply, I have some basic questions:
> > 1) on a non-smp kernel will the _activate_task not lock the given runqueue?
> The locking is done in schedule(). Read include/linux/spinlock.h to see
> how spinlocks differ in the SMP vs non-SMP case. In the latter case
> with spinlock debugging enabled, there is no lock bit and recursively
> grabbing a lock is possible (though still not allowed!).
> > 2) where is the best place I can do the rdtsc() and printk to read the
> > value as to when a task is being scheduled for execution, on a SMP kernel?
> No idea wrt to rdtsc.
> - --
> Mike Waychison
> Sun Microsystems, Inc.
> 1 (650) 352-5299 voice
> 1 (416) 202-8336 voice
> NOTICE: The opinions expressed in this email are held by me,
> and may not represent the views of Sun Microsystems, Inc.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.5 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
> -----END PGP SIGNATURE-----
> 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/
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/