[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51C182EE.5070500@asianux.com>
Date: Wed, 19 Jun 2013 18:07:42 +0800
From: Chen Gang <gang.chen@...anux.com>
To: Thomas Gleixner <tglx@...utronix.de>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] kernel/timer.c: using spin_lock_irqsave instead of spin_lock
+ local_irq_save, especially when CONFIG_LOCKDEP not defined
On 06/19/2013 05:59 PM, Thomas Gleixner wrote:
> Lockdep tracks lock ordering and the context in which a lock is
> taken. The timer base lock can be taken in interrupt context, so it
> always needs to be taken with interrupts disabled. That's what lockdep
> cares about.
>
> And
> spin_lock_irqsave(&l1, flags);
> spin_unlock(&l1);
> spin_lock(&l2);
> spin_unlock_irqrestore(&l2, flags);
>
> fulfils that for both l1 and l2.
>
> It does not matter whether the code pathes are different, what matters
> is that they are semantically the same. And that's the case.
But I feel, they are not semantically the same.
if CONFIG_LOCKDEP is not defined, spin_lock_irqsave() should call
do_raw_spin_lock_flags(), not call LOCK_CONTENDED().
Thanks.
--
Chen Gang
Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists