mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
Merge branch 'akpm' (patches from Andrew)
Merge misc updates from Andrew Morton: "146 patches. Subsystems affected by this patch series: kthread, ia64, scripts, ntfs, squashfs, ocfs2, vfs, and mm (slab-generic, slab, kmemleak, dax, kasan, debug, pagecache, gup, shmem, frontswap, memremap, memcg, selftests, pagemap, dma, vmalloc, memory-failure, hugetlb, userfaultfd, vmscan, mempolicy, oom-kill, hugetlbfs, migration, thp, ksm, page-poison, percpu, rmap, zswap, zram, cleanups, hmm, and damon)" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (146 commits) mm/damon: hide kernel pointer from tracepoint event mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging mm/damon/dbgfs: remove an unnecessary variable mm/damon: move the implementation of damon_insert_region to damon.h mm/damon: add access checking for hugetlb pages Docs/admin-guide/mm/damon/usage: update for schemes statistics mm/damon/dbgfs: support all DAMOS stats Docs/admin-guide/mm/damon/reclaim: document statistics parameters mm/damon/reclaim: provide reclamation statistics mm/damon/schemes: account how many times quota limit has exceeded mm/damon/schemes: account scheme actions that successfully applied mm/damon: remove a mistakenly added comment for a future feature Docs/admin-guide/mm/damon/usage: update for kdamond_pid and (mk|rm)_contexts Docs/admin-guide/mm/damon/usage: mention tracepoint at the beginning Docs/admin-guide/mm/damon/usage: remove redundant information Docs/admin-guide/mm/damon/usage: update for scheme quotas and watermarks mm/damon: convert macro functions to static inline functions mm/damon: modify damon_rand() macro to static inline function mm/damon: move damon_rand() definition into damon.h ...
This commit is contained in:
@@ -88,6 +88,11 @@ struct dev_pagemap_ops {
|
||||
* @done: completion for @ref
|
||||
* @type: memory type: see MEMORY_* in memory_hotplug.h
|
||||
* @flags: PGMAP_* flags to specify defailed behavior
|
||||
* @vmemmap_shift: structural definition of how the vmemmap page metadata
|
||||
* is populated, specifically the metadata page order.
|
||||
* A zero value (default) uses base pages as the vmemmap metadata
|
||||
* representation. A bigger value will set up compound struct pages
|
||||
* of the requested order value.
|
||||
* @ops: method table
|
||||
* @owner: an opaque pointer identifying the entity that manages this
|
||||
* instance. Used by various helpers to make sure that no
|
||||
@@ -102,6 +107,7 @@ struct dev_pagemap {
|
||||
struct completion done;
|
||||
enum memory_type type;
|
||||
unsigned int flags;
|
||||
unsigned long vmemmap_shift;
|
||||
const struct dev_pagemap_ops *ops;
|
||||
void *owner;
|
||||
int nr_range;
|
||||
@@ -118,6 +124,11 @@ static inline struct vmem_altmap *pgmap_altmap(struct dev_pagemap *pgmap)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline unsigned long pgmap_vmemmap_nr(struct dev_pagemap *pgmap)
|
||||
{
|
||||
return 1 << pgmap->vmemmap_shift;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ZONE_DEVICE
|
||||
void *memremap_pages(struct dev_pagemap *pgmap, int nid);
|
||||
void memunmap_pages(struct dev_pagemap *pgmap);
|
||||
|
||||
Reference in New Issue
Block a user