diff options
Diffstat (limited to 'include/linux/mm_inline.h')
| -rw-r--r-- | include/linux/mm_inline.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h index 227fd3e9a9c9..1397ccf81e91 100644 --- a/include/linux/mm_inline.h +++ b/include/linux/mm_inline.h | |||
| @@ -21,22 +21,22 @@ static inline int page_is_file_cache(struct page *page) | |||
| 21 | return !PageSwapBacked(page); | 21 | return !PageSwapBacked(page); |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | static inline void | 24 | static __always_inline void add_page_to_lru_list(struct page *page, |
| 25 | add_page_to_lru_list(struct zone *zone, struct page *page, enum lru_list lru) | 25 | struct lruvec *lruvec, enum lru_list lru) |
| 26 | { | 26 | { |
| 27 | struct lruvec *lruvec; | 27 | int nr_pages = hpage_nr_pages(page); |
| 28 | 28 | mem_cgroup_update_lru_size(lruvec, lru, nr_pages); | |
| 29 | lruvec = mem_cgroup_lru_add_list(zone, page, lru); | ||
| 30 | list_add(&page->lru, &lruvec->lists[lru]); | 29 | list_add(&page->lru, &lruvec->lists[lru]); |
| 31 | __mod_zone_page_state(zone, NR_LRU_BASE + lru, hpage_nr_pages(page)); | 30 | __mod_zone_page_state(lruvec_zone(lruvec), NR_LRU_BASE + lru, nr_pages); |
| 32 | } | 31 | } |
| 33 | 32 | ||
| 34 | static inline void | 33 | static __always_inline void del_page_from_lru_list(struct page *page, |
| 35 | del_page_from_lru_list(struct zone *zone, struct page *page, enum lru_list lru) | 34 | struct lruvec *lruvec, enum lru_list lru) |
| 36 | { | 35 | { |
| 37 | mem_cgroup_lru_del_list(page, lru); | 36 | int nr_pages = hpage_nr_pages(page); |
| 37 | mem_cgroup_update_lru_size(lruvec, lru, -nr_pages); | ||
| 38 | list_del(&page->lru); | 38 | list_del(&page->lru); |
| 39 | __mod_zone_page_state(zone, NR_LRU_BASE + lru, -hpage_nr_pages(page)); | 39 | __mod_zone_page_state(lruvec_zone(lruvec), NR_LRU_BASE + lru, -nr_pages); |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | /** | 42 | /** |
| @@ -61,7 +61,7 @@ static inline enum lru_list page_lru_base_type(struct page *page) | |||
| 61 | * Returns the LRU list a page was on, as an index into the array of LRU | 61 | * Returns the LRU list a page was on, as an index into the array of LRU |
| 62 | * lists; and clears its Unevictable or Active flags, ready for freeing. | 62 | * lists; and clears its Unevictable or Active flags, ready for freeing. |
| 63 | */ | 63 | */ |
| 64 | static inline enum lru_list page_off_lru(struct page *page) | 64 | static __always_inline enum lru_list page_off_lru(struct page *page) |
| 65 | { | 65 | { |
| 66 | enum lru_list lru; | 66 | enum lru_list lru; |
| 67 | 67 | ||
| @@ -85,7 +85,7 @@ static inline enum lru_list page_off_lru(struct page *page) | |||
| 85 | * Returns the LRU list a page should be on, as an index | 85 | * Returns the LRU list a page should be on, as an index |
| 86 | * into the array of LRU lists. | 86 | * into the array of LRU lists. |
| 87 | */ | 87 | */ |
| 88 | static inline enum lru_list page_lru(struct page *page) | 88 | static __always_inline enum lru_list page_lru(struct page *page) |
| 89 | { | 89 | { |
| 90 | enum lru_list lru; | 90 | enum lru_list lru; |
| 91 | 91 | ||
