[PATCH] x86_64: fls in asm for x86_64
[usb.git] / include / linux / mm_inline.h
blob49cc68af01f8e6d971d870fd952d229d31810628
2 static inline void
3 add_page_to_active_list(struct zone *zone, struct page *page)
5 list_add(&page->lru, &zone->active_list);
6 zone->nr_active++;
9 static inline void
10 add_page_to_inactive_list(struct zone *zone, struct page *page)
12 list_add(&page->lru, &zone->inactive_list);
13 zone->nr_inactive++;
16 static inline void
17 del_page_from_active_list(struct zone *zone, struct page *page)
19 list_del(&page->lru);
20 zone->nr_active--;
23 static inline void
24 del_page_from_inactive_list(struct zone *zone, struct page *page)
26 list_del(&page->lru);
27 zone->nr_inactive--;
30 static inline void
31 del_page_from_lru(struct zone *zone, struct page *page)
33 list_del(&page->lru);
34 if (PageActive(page)) {
35 ClearPageActive(page);
36 zone->nr_active--;
37 } else {
38 zone->nr_inactive--;
43 * Isolate one page from the LRU lists.
45 * - zone->lru_lock must be held
47 static inline int __isolate_lru_page(struct page *page)
49 if (unlikely(!TestClearPageLRU(page)))
50 return 0;
52 if (get_page_testone(page)) {
54 * It is being freed elsewhere
56 __put_page(page);
57 SetPageLRU(page);
58 return -ENOENT;
61 return 1;