Merge master.kernel.org:/home/rmk/linux-2.6-serial
[deliverable/linux.git] / include / linux / mm_inline.h
CommitLineData
1da177e4
LT
1
2static inline void
3add_page_to_active_list(struct zone *zone, struct page *page)
4{
5 list_add(&page->lru, &zone->active_list);
6 zone->nr_active++;
7}
8
9static inline void
10add_page_to_inactive_list(struct zone *zone, struct page *page)
11{
12 list_add(&page->lru, &zone->inactive_list);
13 zone->nr_inactive++;
14}
15
16static inline void
17del_page_from_active_list(struct zone *zone, struct page *page)
18{
19 list_del(&page->lru);
20 zone->nr_active--;
21}
22
23static inline void
24del_page_from_inactive_list(struct zone *zone, struct page *page)
25{
26 list_del(&page->lru);
27 zone->nr_inactive--;
28}
29
30static inline void
31del_page_from_lru(struct zone *zone, struct page *page)
32{
33 list_del(&page->lru);
34 if (PageActive(page)) {
35 ClearPageActive(page);
36 zone->nr_active--;
37 } else {
38 zone->nr_inactive--;
39 }
40}
21eac81f
CL
41
42/*
43 * Isolate one page from the LRU lists.
44 *
45 * - zone->lru_lock must be held
46 */
47static inline int __isolate_lru_page(struct page *page)
48{
49 if (unlikely(!TestClearPageLRU(page)))
50 return 0;
51
52 if (get_page_testone(page)) {
53 /*
54 * It is being freed elsewhere
55 */
56 __put_page(page);
57 SetPageLRU(page);
58 return -ENOENT;
59 }
60
61 return 1;
62}
This page took 0.096992 seconds and 5 git commands to generate.