On Sun, 13 Jan 2008, Mariusz Kozlowski wrote: > [... snip ...] > > @@ -56,12 +64,13 @@ static inline void __quicklist_free(int > struct page *page) > { > struct quicklist *q; > + int cpu; > > - q = &get_cpu_var(quicklist)[nr]; > + q = &get_cpu_var_locked(quicklist, &cpu)[nr]; > *(void **)p = q->page; > q->page = p; > q->nr_pages++; > - put_cpu_var(quicklist); > + put_cpu_var(quicklist, cpu); <------------- should that be put_cpu_var_locked()? > } > Ouch! <looks at rejs> *************** static inline void __quicklist_free(int *** 76,86 **** return; } - q = &get_cpu_var(quicklist)[nr]; *(void **)p = q->page; q->page = p; q->nr_pages++; - put_cpu_var(quicklist); } static inline void quicklist_free(int nr, void (*dtor)(void *), void *pp) --- 73,83 ---- return; } + q = &get_cpu_var_locked(quicklist, &cpu)[nr]; *(void **)p = q->page; q->page = p; q->nr_pages++; + put_cpu_var_locked(quicklist, cpu); } static inline void quicklist_free(int nr, void (*dtor)(void *), void *pp) ************ Darn, that was my fault. OK, will release a -rt2 soon. Thanks, -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html