opd_mapping.h File Reference

Management of process mappings. More...

#include "op_list.h"
Include dependency graph for opd_mapping.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  opd_map
 represent a mmap'ed area, we create such area only for vma area with exec access right More...

Functions

void opd_init_hash_map (void)
 opd_init_hash_map - initialise the hashmap
void opd_cleanup_hash_name (void)
 op_cleanup_hash_name
void opd_handle_mapping (struct op_note const *note)
 opd_handle_mapping - deal with mapping notification
void opd_add_mapping (struct opd_proc *proc, struct opd_image *image, unsigned long start, unsigned long offset, unsigned long end)
 opd_put_mapping - add a mapping to a process
void opd_kill_maps (struct opd_proc *proc)
 opd_kill_maps - delete mapping information for a process

Detailed Description

Management of process mappings.

Remarks:
Copyright 2002 OProfile authors
Read the file COPYING
Author:
John Levon
Philippe Elie

Function Documentation

void opd_add_mapping ( struct opd_proc proc,
struct opd_image image,
unsigned long  start,
unsigned long  offset,
unsigned long  end 
)

opd_put_mapping - add a mapping to a process

Parameters:
proc process to add map to
image mapped image pointer
start start of mapping
offset file offset of mapping
end end of mapping

Add the mapping specified to the process proc growing the maps array if necessary.

References opd_map::end, opd_map::image, opd_proc::maps, opd_proc::name, opd_image::name, opd_map::next, opd_map::offset, opd_image::ref_count, opd_map::start, opd_proc::tid, verbprintf, and vmisc.

Referenced by opd_add_kernel_map(), opd_handle_fork(), and opd_handle_mapping().

void opd_cleanup_hash_name ( void   ) 

op_cleanup_hash_name

release resource owned by hash_name array

References OP_HASH_MAP_NR.

void opd_handle_mapping ( struct op_note const *  note  ) 

opd_handle_mapping - deal with mapping notification

Parameters:
note mapping notification

Deal with one notification that a process has mapped in a new executable file. The mapping information is added to the process structure.

References op_note::addr, op_note::hash, op_note::len, opd_proc::name, op_note::offset, OP_HASH_MAP_NR, opd_add_mapping(), opd_get_image(), opd_get_proc(), opd_new_proc(), op_note::pid, op_note::tgid, verbprintf, and vmisc.

void opd_init_hash_map ( void   ) 

opd_init_hash_map - initialise the hashmap

References hashmapdevfd, and OP_HASH_MAP_SIZE.

void opd_kill_maps ( struct opd_proc proc  ) 

opd_kill_maps - delete mapping information for a process

Parameters:
proc process to work on

Frees structures holding mapping information

References opd_map::image, list_entry, list_for_each_safe, opd_proc::maps, opd_map::next, and opd_delete_image().

Referenced by opd_handle_exec().


Generated on 27 Aug 2012 for oprofile by  doxygen 1.6.1