Re: AVR32 architecture patch against Linux 2.6.18-rc1 available

Haavard Skinnemoen
2006-07-07T16:36:31Z

On Fri, 07 Jul 2006 18:08:48 +1000
Nick Piggin <nickpiggin@yahoo.com.au> wrote:

> need_resched() translates to a test_bit, which doesn't have any
> barriers, so it could be optimised away completely. And if you're
> intending to use preempt, you need to have preemption disabled in the
> idle loop.

Actually, preemption seems to be disabled when entering cpu_idle(), but
it must be enabled around the call to schedule(). That explains the
"scheduling while atomic" storm we saw when enabling CONFIG_PREEMPT
anyway.

CONFIG_PREEMPT support is one of the things still missing, btw. I'll
implement that next, now that genirq seems to be working.

> Documentation/sched-arch.txt attempts to explain, and something like
> arm26's cpu_idle() is a nice, simple example to follow.

I'll do that. Thanks.

Håvard