read_page_owner(struct file *file, char __user *buf, size_t count, loff_t *ppos)
#include <linux/debugfs.h>
#include <linux/uaccess.h>
#include <linux/memblock.h>
#include <linux/stacktrace.h>
#include <linux/page_owner.h>
#include <linux/jump_label.h>
#include <linux/migrate.h>
#include <linux/stackdepot.h>
#include <linux/seq_file.h>
#define PAGE_OWNER_STACK_DEPTH (16)
short last_migrate_reason;
depot_stack_handle_t handle;
static bool page_owner_disabled = true;
DEFINE_STATIC_KEY_FALSE(page_owner_inited);
static depot_stack_handle_t dummy_handle;
static depot_stack_handle_t failure_handle;
static depot_stack_handle_t early_handle;
static void init_early_allocated_pages(void);
static int __init early_page_owner_param(char *buf)
if (strcmp(buf, "on") == 0)
page_owner_disabled = false;
early_param("page_owner", early_page_owner_param);
static bool need_page_owner(void)
static __always_inline depot_stack_handle_t create_dummy_stack(void)
unsigned long entries[4];
struct stack_trace dummy;