Pavel Machek пишет: > On Fri 2009-12-11 14:48:21, Alexey Starikovskiy wrote: > >> Lin Ming ??????????: >> >>> On Thu, 2009-12-10 at 20:21 +0800, Alexey Starikovskiy wrote: >>> >>>> Hi Xiaotian, >>>> >>>> I think, this is another round of "armor vs. bullet" race... It will hold until >>>> might_sleep() logic changes again. >>>> >>>> Please consider using preemptible() -- IMHO this is the check we should perform >>>> in our case of voluntary preemption. >>>> >>> preemptible() may not work here because it always returns 0 for >>> non-preemptible kernel. >>> >> Right, and it means that this machine does not care about low latency that much. >> The reason we introduced the preemption point in the first place, was unacceptable latency >> due to very long AML methods on some machines. We don't need this preemption point for normal >> operation, this is exactly what voluntary preemption does -- allows those in hurry to pass by. >> 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? > Pavel > Right. Do you have code? Thanks, Alex. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html