mirror of https://gitee.com/openkylin/linux.git
mm: return boolean from page_has_private()
Make page_has_private() return a true boolean value and remove the double negations from the two callsites using it for arithmetic. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Christoph Lameter <cl@linux-foundation.org> Reviewed-by: Christoph Lameter <cl@linux-foundation.org> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6c0b13519d
commit
edcf4748cd
|
@ -402,8 +402,8 @@ static inline void __ClearPageTail(struct page *page)
|
|||
*/
|
||||
#define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
|
||||
|
||||
#endif /* !__GENERATING_BOUNDS_H */
|
||||
|
||||
#define PAGE_FLAGS_PRIVATE \
|
||||
(1 << PG_private | 1 << PG_private_2)
|
||||
/**
|
||||
* page_has_private - Determine if page has private stuff
|
||||
* @page: The page to be checked
|
||||
|
@ -411,8 +411,11 @@ static inline void __ClearPageTail(struct page *page)
|
|||
* Determine if a page has private stuff, indicating that release routines
|
||||
* should be invoked upon it.
|
||||
*/
|
||||
#define page_has_private(page) \
|
||||
((page)->flags & ((1 << PG_private) | \
|
||||
(1 << PG_private_2)))
|
||||
static inline int page_has_private(struct page *page)
|
||||
{
|
||||
return !!(page->flags & PAGE_FLAGS_PRIVATE);
|
||||
}
|
||||
|
||||
#endif /* !__GENERATING_BOUNDS_H */
|
||||
|
||||
#endif /* PAGE_FLAGS_H */
|
||||
|
|
|
@ -272,7 +272,7 @@ static int migrate_page_move_mapping(struct address_space *mapping,
|
|||
pslot = radix_tree_lookup_slot(&mapping->page_tree,
|
||||
page_index(page));
|
||||
|
||||
expected_count = 2 + !!page_has_private(page);
|
||||
expected_count = 2 + page_has_private(page);
|
||||
if (page_count(page) != expected_count ||
|
||||
(struct page *)radix_tree_deref_slot(pslot) != page) {
|
||||
spin_unlock_irq(&mapping->tree_lock);
|
||||
|
|
|
@ -286,7 +286,7 @@ static inline int page_mapping_inuse(struct page *page)
|
|||
|
||||
static inline int is_page_cache_freeable(struct page *page)
|
||||
{
|
||||
return page_count(page) - !!page_has_private(page) == 2;
|
||||
return page_count(page) - page_has_private(page) == 2;
|
||||
}
|
||||
|
||||
static int may_write_to_queue(struct backing_dev_info *bdi)
|
||||
|
|
Loading…
Reference in New Issue