Rev 4346 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4346 | Rev 4691 | ||
|---|---|---|---|
| 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 */ |