pmc_owner
struct pmc_owner *po;
struct pmc_owner *po;
pmclog_process_proccreate(struct pmc_owner *po, struct proc *p, int sync)
struct pmc_owner *po;
pmclog_process_procexec(struct pmc_owner *po, pmc_id_t pmid, pid_t pid,
struct pmc_owner *po;
pmclog_process_procfork(struct pmc_owner *po, pid_t oldpid, pid_t newpid)
pmclog_process_sysexit(struct pmc_owner *po, pid_t pid)
pmclog_process_threadcreate(struct pmc_owner *po, struct thread *td, int sync)
pmclog_process_threadexit(struct pmc_owner *po, struct thread *td)
pmclog_process_userlog(struct pmc_owner *po, struct pmc_op_writelog *wl)
static int pmclog_get_buffer(struct pmc_owner *po);
static void pmclog_release(struct pmc_owner *po);
static uint32_t *pmclog_reserve(struct pmc_owner *po, int length);
static void pmclog_schedule_io(struct pmc_owner *po, int wakeup);
static void pmclog_schedule_all(struct pmc_owner *po);
static void pmclog_stop_kthread(struct pmc_owner *po);
pmclog_get_buffer(struct pmc_owner *po)
struct pmc_owner *po;
pmclog_proc_ignite(void *handle, struct pmc_owner *po)
struct pmc_owner *po;
pmclog_release_flags(struct pmc_owner *po, int wakeup)
pmclog_release(struct pmc_owner *po)
pmclog_reserve(struct pmc_owner *po, int length)
pmclog_schedule_io(struct pmc_owner *po, int wakeup)
pmclog_stop_kthread(struct pmc_owner *po)
pmclog_configure_log(struct pmc_mdep *md, struct pmc_owner *po, int logfd)
pmclog_deconfigure_log(struct pmc_owner *po)
pmclog_flush(struct pmc_owner *po, int force)
pmclog_schedule_one_cond(struct pmc_owner *po)
pmclog_schedule_all(struct pmc_owner *po)
pmclog_close(struct pmc_owner *po)
struct pmc_owner *po;
pmclog_process_closelog(struct pmc_owner *po)
pmclog_process_dropnotify(struct pmc_owner *po)
pmclog_process_map_in(struct pmc_owner *po, pid_t pid, uintfptr_t start,
pmclog_process_map_out(struct pmc_owner *po, pid_t pid, uintfptr_t start,
struct pmc_owner *po;
struct pmc_owner *po;
static LIST_HEAD(pmc_ownerhash, pmc_owner) *pmc_ownerhash;
static CK_LIST_HEAD(, pmc_owner) pmc_ss_owners;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
pmc_log_process_mappings(struct pmc_owner *po, struct proc *p)
pmc_log_all_process_mappings(struct pmc_owner *po)
static struct pmc_owner *pmc_allocate_owner_descriptor(struct proc *p);
static void pmc_destroy_owner_descriptor(struct pmc_owner *po);
static struct pmc_owner *pmc_find_owner_descriptor(struct proc *p);
static struct pmc_owner *
static struct pmc *pmc_find_pmc_descriptor_in_process(struct pmc_owner *po,
struct pmc_owner *po;
po = malloc(sizeof(struct pmc_owner), M_PMC, M_WAITOK | M_ZERO);
pmc_destroy_owner_descriptor(struct pmc_owner *po)
static void pmc_log_all_process_mappings(struct pmc_owner *po);
static void pmc_log_process_mappings(struct pmc_owner *po, struct proc *p);
static void pmc_maybe_remove_owner(struct pmc_owner *po);
static void pmc_remove_owner(struct pmc_owner *po);
static struct pmc_owner *
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
pmc_find_pmc_descriptor_in_process(struct pmc_owner *po, pmc_id_t pmcid)
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po;
struct pmc_owner *po, *tmp;
pmc_remove_owner(struct pmc_owner *po)
pmc_maybe_remove_owner(struct pmc_owner *po)
struct pmc_owner *pm_owner; /* owner thread state */
LIST_ENTRY(pmc_owner) po_next; /* hash chain */
CK_LIST_ENTRY(pmc_owner) po_ssnext; /* (g/p) list of SS PMC owners */
int pmclog_configure_log(struct pmc_mdep *_md, struct pmc_owner *_po,
int pmclog_deconfigure_log(struct pmc_owner *_po);
int pmclog_flush(struct pmc_owner *_po, int force);
int pmclog_close(struct pmc_owner *_po);
void pmclog_proc_ignite(void *handle, struct pmc_owner *po);
void pmclog_process_closelog(struct pmc_owner *po);
void pmclog_process_dropnotify(struct pmc_owner *po);
void pmclog_process_map_in(struct pmc_owner *po, pid_t pid,
void pmclog_process_map_out(struct pmc_owner *po, pid_t pid,
void pmclog_process_procexec(struct pmc_owner *_po, pmc_id_t _pmid, pid_t _pid,
void pmclog_process_procfork(struct pmc_owner *_po, pid_t _oldpid, pid_t _newpid);
void pmclog_process_sysexit(struct pmc_owner *_po, pid_t _pid);
void pmclog_process_threadcreate(struct pmc_owner *_po, struct thread *td, int sync);
void pmclog_process_threadexit(struct pmc_owner *_po, struct thread *td);
void pmclog_process_proccreate(struct pmc_owner *_po, struct proc *p, int sync);
int pmclog_process_userlog(struct pmc_owner *_po,