Merge "zsmalloc: use bit_spin_lock"

This commit is contained in:
Linux Build Service Account 2017-02-25 01:09:49 -08:00 committed by Gerrit - the friendly Code Review server
commit 88cb62f261

View file

@ -868,21 +868,17 @@ static unsigned long obj_idx_to_offset(struct page *page,
static inline int trypin_tag(unsigned long handle) static inline int trypin_tag(unsigned long handle)
{ {
unsigned long *ptr = (unsigned long *)handle; return bit_spin_trylock(HANDLE_PIN_BIT, (unsigned long *)handle);
return !test_and_set_bit_lock(HANDLE_PIN_BIT, ptr);
} }
static void pin_tag(unsigned long handle) static void pin_tag(unsigned long handle)
{ {
while (!trypin_tag(handle)); bit_spin_lock(HANDLE_PIN_BIT, (unsigned long *)handle);
} }
static void unpin_tag(unsigned long handle) static void unpin_tag(unsigned long handle)
{ {
unsigned long *ptr = (unsigned long *)handle; bit_spin_unlock(HANDLE_PIN_BIT, (unsigned long *)handle);
clear_bit_unlock(HANDLE_PIN_BIT, ptr);
} }
static void reset_page(struct page *page) static void reset_page(struct page *page)