Re: [Question] I doublt on spin_lock again.

From: liyu
Date: Tue Nov 22 2005 - 21:56:07 EST

Zhang Le wrote:

Hash: SHA1

liyu wrote:

| 1. I found these use spin_lock(&rq->lock) in set_user_nice(), but
| not disable interrput ( e.g. when sys_nice() call it ), if the
| one timer interrput come before we unlock the spin_lock, Shall we
| dead lock here? Since the scheduler_tick() may try to hold the
| same lock.

set_user_nice() -> task_rq_lock -> local_irq_save()

| 2. # define __acquires(x) __attribute__((context(0,1))) # define
| __releases(x) __attribute__((context(1,0))) # define
| __acquire(x) __context__(1) # define __release(x)
| __context__(-1)

info gcc

BTW, have you ever read "HOWTO do Linux kernel development" be Greg?
Do it, if you haven't

- --
Zhang Le, Robert
Linux Engineer/Trainer

ThizLinux Laboratory Limited
Address: Unit 1004, 10/F, Tower B,
Hunghom Commercial Centre, 37 Ma Tau Wai Road,
To Kwa Wan, Kowloon, Hong Kong
Telephone: (852) 2735 2725
Mobile:(852) 9845 4336
Fax: (852) 2111 0702
Public key: gpg --keyserver --recv-keys 1E4E2973

Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -


Thanks first.

1. I know local_irq_save() in task_rq_lock(), but it only save FLAGS register to one unsigned long variable, but not disable maskable interrupt.
2. OK, I am going to get it.


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