Lines Matching refs:pfn
182 * @to: index of the smallest element which is >= then @pfn.
184 * Return the index of the pfn if found, otherwise negative value.
186 static int __find_elem(struct ce_array *ca, u64 pfn, unsigned int *to)
196 if (this_pfn < pfn)
198 else if (this_pfn > pfn)
200 else if (this_pfn == pfn) {
209 * When the loop terminates without finding @pfn, min has the index of
210 * the element slot where the new @pfn should be inserted. The loop
213 * which the new @pfn belongs to.
223 static int find_elem(struct ce_array *ca, u64 pfn, unsigned int *to)
231 return __find_elem(ca, pfn, to);
265 * We return the 0th pfn in the error case under the assumption that it cannot
271 u64 pfn;
277 pfn = del_lru_elem_unlocked(ca);
280 return pfn;
314 * @pfn: page frame number to insert
319 * - >0: when the inserted pfn was offlined
321 static int cec_add_elem(u64 pfn)
342 err = find_elem(ca, pfn, &to);
351 ca->array[to] = pfn << PAGE_SHIFT;
362 u64 pfn = ca->array[to] >> PAGE_SHIFT;
364 if (!pfn_valid(pfn)) {
365 pr_warn("CEC: Invalid pfn: 0x%llx\n", pfn);
368 pr_err("Soft-offlining pfn: 0x%llx\n", pfn);
369 memory_failure_queue(pfn, MF_SOFT_OFFLINE);
483 struct dentry *d, *pfn, *decay, *count, *array, *dfs;
514 pfn = debugfs_create_file("pfn", S_IRUSR | S_IWUSR, d, &dfs_pfn, &pfn_ops);
515 if (!pfn) {
516 pr_warn("Error creating pfn debugfs node!\n");