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

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


-----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.

HTH,

- --
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

iD8DBQFBkNpAdQs4kOxk3/MRAkCCAJ9IoN7VfyymTBuYn7R8//dbxLGwkACfUTQu
l1BiHVTfZf6IvIT2+nqsiPE=
=loXh
-----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/