[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070302114524.1c61cf22.akpm@linux-foundation.org>
Date: Fri, 2 Mar 2007 11:45:24 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Heiko Carstens <heiko.carstens@...ibm.com>
Cc: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
john stultz <johnstul@...ibm.com>,
Roman Zippel <zippel@...ux-m68k.org>,
Christian Borntraeger <cborntra@...ibm.com>,
linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [patch] timer/hrtimer: take per cpu locks in sane order
On Fri, 2 Mar 2007 20:08:36 +0100
Heiko Carstens <heiko.carstens@...ibm.com> wrote:
> +/*
> + * double_hrtimer_lock/unlock are used to ensure that on cpu hotplug the
> + * per cpu timer locks are always taken in the same order.
> + */
> +static void double_hrtimer_lock(struct hrtimer_cpu_base *base1,
> + struct hrtimer_cpu_base *base2, int ind)
> + __acquires(base1->lock)
> + __acquires(base2->lock)
> +{
>
> ...
>
> +/*
> + * double_timer_lock/unlock are used to ensure that on cpu hotplug the
> + * per cpu timer locks are always taken in the same order.
> + */
> +static void __devinit double_timer_lock(tvec_base_t *base1,
> + tvec_base_t *base2, int ind)
> + __acquires(base1->lock)
> + __acquires(base2->lock)
hm. Can we not just pass in the spinlock_t*'s and use a common function?
void double_spin_lock(spinlock_t *l1, spinlock_t *l2, int ind);
that way it has nothing to do with timers and can potentially be used
elsewhere in the kernel, too.
(what does "ind" mean?)
-
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