用户空间缺页异常pte_handle_fault()分析(三)

2014-11-24 09:24:39 · 作者: · 浏览: 5
e = 1;
unlock_page(dirty_page);
put_page(dirty_page);
if (page_mkwrite && mapping) {
/*
* Some device drivers do not set page.mapping but still
* dirty their pages
*/
balance_dirty_pages_ratelimited(mapping);
}

/* file_update_time outside page_lock */
if (vma->vm_file)
file_update_time(vma->vm_file);
} else {
unlock_page(vmf.page);
if (anon)
page_cache_release(vmf.page);
}

return ret;

unwritable_page:
page_cache_release(page);
return ret;
}