Source
208
208
entry >>= MEM_CGROUP_ID_SHIFT;
209
209
210
210
*memcgidp = memcgid;
211
211
*pgdat = NODE_DATA(nid);
212
212
*evictionp = entry << bucket_order;
213
213
*workingsetp = workingset;
214
214
}
215
215
216
216
/**
217
217
* workingset_eviction - note the eviction of a page from memory
218
-
* @mapping: address space the page was backing
219
218
* @page: the page being evicted
220
219
*
221
-
* Returns a shadow entry to be stored in @mapping->i_pages in place
220
+
* Returns a shadow entry to be stored in @page->mapping->i_pages in place
222
221
* of the evicted @page so that a later refault can be detected.
223
222
*/
224
-
void *workingset_eviction(struct address_space *mapping, struct page *page)
223
+
void *workingset_eviction(struct page *page)
225
224
{
226
225
struct pglist_data *pgdat = page_pgdat(page);
227
226
struct mem_cgroup *memcg = page_memcg(page);
228
227
int memcgid = mem_cgroup_id(memcg);
229
228
unsigned long eviction;
230
229
struct lruvec *lruvec;
231
230
232
231
/* Page is fully exclusive and pins page->mem_cgroup */
233
232
VM_BUG_ON_PAGE(PageLRU(page), page);
234
233
VM_BUG_ON_PAGE(page_count(page), page);