[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49B581FB.7060506@freescale.com>
Date: Mon, 09 Mar 2009 15:54:19 -0500
From: Timur Tabi <timur@...escale.com>
To: Jiri Slaby <jirislaby@...il.com>
CC: linux-kernel@...r.kernel.org, rdreier@...co.com,
peterz@...radead.org, will.newton@...il.com
Subject: Re: [PATCH v3] add function spin_event_timeout()
Jiri Slaby wrote:
> On 9.3.2009 21:32, Timur Tabi wrote:
>> +#define spin_event_timeout(condition, timeout) \
>> +({ \
>> + int __timeout = timeout; \
>> + while (!(condition)&& --__timeout) { \
>> + udelay(1); \
>> + cpu_relax(); \
>
> So you don't need cpu_relax anymore...
I checked the udelay() code. It varies per platform, but I didn't see
how it always replicated the functionality of cpu_relax(). For example,
in x86_64, cpu_relax is a "rep; nop;". But I don't see that code
sequence in arch/x86/lib/delay.c.
So I presume that something in the delay functions makes cpu_relax()
unnecessary. What exactly is the purpose of cpu_relax()?
> And I would make timeout UL like delay functions.
I made it an integer because I don't expect anyone to pass a value
larger than 2^31, but I'll change it.
--
Timur Tabi
Linux kernel developer at Freescale
--
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