Re: [PATCH 1/4] Blackfin: arch patch for 2.6.18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Arnd wrote:
Ok, looks good now. Just a few details that don't impact the
functionality:

[snip]

What I committed (to our source) is:

+++ process.c   27 Sep 2006 15:32:46 -0000      1.42
@@ -101,10 +101,10 @@
 {
        while (!need_resched()) {
                leds_switch(LED_OFF);
-             __asm__("nop;\n\t \
-                         nop;\n\t \
-                         nop;\n\t \
-                         idle;\n\t": : :"cc");
+               local_irq_disable();
+               if (likely( !need_resched()))
+                       idle_with_irq_disabled();
+               local_irq_enable();
                leds_switch(LED_ON);
        }
 }

And in system.h, this was added (because this is where all the other inlines is which messes with the interrupts are - and irq_flags is already defined here)

+++ system.h    27 Sep 2006 15:32:51 -0000      1.24

+#define idle_with_irq_disabled() do {   \
+        __asm__ __volatile__ (          \
+                "nop; nop;\n"           \
+                ".align 8;\n"           \
+                "sti %0; idle;\n"       \
+                ::"d" (irq_flags));     \
+} while (0)

It seems to work OK.

Thanks for your help on this.

I think we have been weeding through everyone's comments, and have most things fixed up.

Are there any other major issues that you can see (that have not been pointed out).

-Robin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux