Rev 4133 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4133 | Rev 4402 | ||
---|---|---|---|
Line 112... | Line 112... | ||
112 | uint32_t tmp; |
112 | uint32_t tmp; |
113 | 113 | ||
114 | preemption_disable(); |
114 | preemption_disable(); |
115 | asm volatile ( |
115 | asm volatile ( |
116 | "0:\n" |
116 | "0:\n" |
117 | #ifdef CONFIG_HT |
- | |
118 | "pause\n" /* Pentium 4's HT love this instruction */ |
117 | "pause\n" /* Pentium 4's HT love this instruction */ |
119 | #endif |
- | |
120 | "mov %[count], %[tmp]\n" |
118 | "mov %[count], %[tmp]\n" |
121 | "testl %[tmp], %[tmp]\n" |
119 | "testl %[tmp], %[tmp]\n" |
122 | "jnz 0b\n" /* lightweight looping on locked spinlock */ |
120 | "jnz 0b\n" /* lightweight looping on locked spinlock */ |
123 | 121 | ||
124 | "incl %[tmp]\n" /* now use the atomic operation */ |
122 | "incl %[tmp]\n" /* now use the atomic operation */ |