Re: [Question] I doublt on spin_lock again.

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


Zhang Le wrote:

-----BEGIN PGP SIGNED MESSAGE-----
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
URL: http://www.thizgroup.com
Public key: gpg --keyserver pgp.mit.edu --recv-keys 1E4E2973

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDg9kOvFHICB5OKXMRAg7BAJwIhyW9Qop4YGF9G56nzqImjy8UgQCfUE/g
b8pK2Fk6oW8ScK42krTZdOQ=
=mDfg
-----END PGP SIGNATURE-----



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.

-liyu


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