From mboxrd@z Thu Jan 1 00:00:00 1970 From: sboyd@codeaurora.org (Stephen Boyd) Date: Wed, 31 Jul 2013 17:04:14 -0700 Subject: [PATCH 2/2] Convert PowerPC macro spin_event_timeout() to architecture independent macro In-Reply-To: References: <1375187900-17582-1-git-send-email-B44344@freescale.com> <1375187900-17582-3-git-send-email-B44344@freescale.com> <20130731071630.GI8868@codeaurora.org> Message-ID: <51F9A5FE.8030608@codeaurora.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 07/31/13 16:44, Timur Tabi wrote: > On Wed, Jul 31, 2013 at 2:16 AM, Stephen Boyd wrote: >> What do you do here if jiffies aren't incrementing (i.e >> interrupts are disabled). The time_before() check won't work >> there and it would be nice if we were able to use this in such >> situations. I think powerpc gets around this by reading the >> hardware timer directly? > I believe that jiffies is always a global variable. It should behave > the same on PowerPC as on other architectures. Yes it's global but it doesn't increment while interrupts are off. > > The answer to your question is that you should not use > spin_event_timeout() in interrupt context, because it yields. > If it yields why are we using udelay? Why not usleep_range()? It would be useful to have a variant that worked in interrupt context and it looked like that was almost possible. BTW, couldn't we skip the first patch and just use usecs_to_jiffies()? -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation