Messages in this thread | | | Date | Mon, 28 Dec 2009 14:02:30 +0800 | From | Xiaotian Feng <> | Subject | Re: [PATCH -V2] acpi: don't cond_resched if irq is disabled |
| |
On 12/12/2009 01:34 AM, Pavel Machek wrote: > >>>> If there are none, fine. >>>> >>>>> #ifdef CONFIG_PREEMPT >>>>> # define preemptible() (preempt_count() == 0&& !irqs_disabled()) >>>>> # define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1) >>>>> #else >>>>> # define preemptible() 0 >>>>> # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET >>>>> #endif >>>>> >>> >>> Well, normally we want low latency even for !CONFIG_PREEMPT kernels. >>> >>> Actually, explicit preemption points are NOPs for CONFIG_PREEMPT >>> kernels, right? > >> Right. Do you have code? > > I'd prefer to spend my time with patches to areas that actually do > take cleanup patches.
What's the status of this now? We can still see the sleeping function call warning or enable irq at resume stage. If acpi wants low latency even for !CONFIG_PREEMPT kernels, what's wrong with V2 patch?
We should not set any preemption points in irq or atomic. Since we have a simple fix, and it did fix bugs, why should we make things more complex?
> Pavel
| |