2005-04-17 06:20:36 +08:00
|
|
|
static inline void
|
|
|
|
add_page_to_active_list(struct zone *zone, struct page *page)
|
|
|
|
{
|
|
|
|
list_add(&page->lru, &zone->active_list);
|
2007-02-10 17:43:01 +08:00
|
|
|
__inc_zone_state(zone, NR_ACTIVE);
|
2005-04-17 06:20:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline void
|
|
|
|
add_page_to_inactive_list(struct zone *zone, struct page *page)
|
|
|
|
{
|
|
|
|
list_add(&page->lru, &zone->inactive_list);
|
2007-02-10 17:43:01 +08:00
|
|
|
__inc_zone_state(zone, NR_INACTIVE);
|
2005-04-17 06:20:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline void
|
|
|
|
del_page_from_active_list(struct zone *zone, struct page *page)
|
|
|
|
{
|
|
|
|
list_del(&page->lru);
|
2007-02-10 17:43:01 +08:00
|
|
|
__dec_zone_state(zone, NR_ACTIVE);
|
2005-04-17 06:20:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline void
|
|
|
|
del_page_from_inactive_list(struct zone *zone, struct page *page)
|
|
|
|
{
|
|
|
|
list_del(&page->lru);
|
2007-02-10 17:43:01 +08:00
|
|
|
__dec_zone_state(zone, NR_INACTIVE);
|
2005-04-17 06:20:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline void
|
|
|
|
del_page_from_lru(struct zone *zone, struct page *page)
|
|
|
|
{
|
|
|
|
list_del(&page->lru);
|
|
|
|
if (PageActive(page)) {
|
2006-03-22 16:08:00 +08:00
|
|
|
__ClearPageActive(page);
|
2007-02-10 17:43:01 +08:00
|
|
|
__dec_zone_state(zone, NR_ACTIVE);
|
2005-04-17 06:20:36 +08:00
|
|
|
} else {
|
2007-02-10 17:43:01 +08:00
|
|
|
__dec_zone_state(zone, NR_INACTIVE);
|
2005-04-17 06:20:36 +08:00
|
|
|
}
|
|
|
|
}
|
2006-01-08 17:00:45 +08:00
|
|
|
|