Re: problem with printk on SMP-- somebody please help

From: Mike Waychison
Date: Tue Nov 09 2004 - 09:57:05 EST

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.
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at