isolate_lru_page
来源:互联网 发布:七天网络阅卷组织代码 编辑:程序博客网 时间:2024/06/05 03:51
isolate_lru_page
int isolate_lru_page(struct page *page)
{
int ret = -EBUSY;
VM_BUG_ON_PAGE(!page_count(page), page);
WARN_RATELIMIT(PageTail(page), "trying to isolate tail page");
if (PageLRU(page)) {
struct zone *zone = page_zone(page);
struct lruvec *lruvec;
spin_lock_irq(&zone->lru_lock);
lruvec = mem_cgroup_page_lruvec(page, zone);
if (PageLRU(page)) {
int lru = page_lru(page);
get_page(page);
ClearPageLRU(page);
del_page_from_lru_list(page, lruvec, lru);
ret = 0;
}
spin_unlock_irq(&zone->lru_lock);
}
return ret;
}
static __always_inline void del_page_from_lru_list(struct page *page,struct lruvec *lruvec, enum lru_list lru)
{
list_del(&page->lru);
update_lru_size(lruvec, lru, -hpage_nr_pages(page));
}
static __always_inline void update_lru_size(struct lruvec *lruvec,enum lru_list lru, int nr_pages)
{
#ifdef CONFIG_MEMCG
mem_cgroup_update_lru_size(lruvec, lru, nr_pages);
#else
__update_lru_size(lruvec, lru, nr_pages);
#endif
}
- isolate_lru_page
- filter笔记(1)
- c语言实现动态数组
- 贪心5 HDU - 1789 题解
- PAT甲级真题1013. Battle Over Cities (25)(图的遍历,统计强连通分量的个数,dfs)
- |BZOJ 1012|线段树|[JSOI2008]最大数maxnumber
- isolate_lru_page
- 一级路由器静态路由访问二级路由器的方法一
- 一个发送邮件的工具类
- git常用命令
- 简单的结构体排序
- Error:(22, 0) Could not find method android()
- JAVA的可变类与不可变类
- SpringMVC注解详解
- 分布式架构(四)-zookeeper概述