about runqueues locking

From: Vincent Hanquez
Date: Fri Feb 27 2004 - 07:31:22 EST


Hi LKML,

I've got a code for 2.4 which do:

================================================================
spin_lock_irqsave(&runqueue_lock, flags)
for_each_process(p)
{
// modify p attributes
}
spin_unlock_irqrestore(&runqueue_lock, flags)
================================================================

and I need to translate it to 2.6.
What is exactly the best solution since runqueues are per cpu now ?

Is there a way to lock and browse each runqueues ?
or if not, is tasklist_lock can be use to lock all runqueues at once ?

and one another question, what is the difference between
local_irq_disable() and local_irq_save() ?
irq_save push eflags register on the stack, but why for ?

Thanks for any comments.
--
Tab

Attachment: signature.asc
Description: Digital signature