Bug in mm.h?

From: Leonid Podolny
Date: Thu Apr 07 2005 - 04:12:22 EST


I fail to understand whether the following is a bug. From what I see, if
the page is reserved, page->count is not decreased. The order of the
conditions should be reversed.

>From mm.h:

static inline void put_page(struct page *page)
{
if (!PageReserved(page) && put_page_testzero(page))
__page_cache_release(page);
}

static inline void get_page(struct page *page)
{
atomic_inc(&page->_count);
}

#define put_page_testzero(p) \
({ \
BUG_ON(page_count(p) == 0); \
atomic_add_negative(-1, &(p)->_count); \
})

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