opd_anon.c File Reference

Anonymous region handling. More...

#include "opd_anon.h"
#include "opd_trans.h"
#include "opd_sfile.h"
#include "opd_printf.h"
#include "op_libiberty.h"
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
Include dependency graph for opd_anon.c:


#define HASH_SIZE   1024
#define HASH_BITS   (HASH_SIZE - 1)
#define LRU_SIZE   8192
#define LRU_AMOUNT   (LRU_SIZE/8)


struct anon_mappingfind_anon_mapping (struct transient *trans)
 Try to find an anonymous mapping for the given pc/tgid pair.
void anon_init (void)

Detailed Description

Anonymous region handling.

Our caching of maps has some problems: if we get tgid reuse, and it's the same application, we might end up with wrong maps. The same happens in an unmap-remap case. There's not much we can do about this, we just hope it's not too common...

What is relatively common is expanding anon maps, which leaves us with lots of separate sample files.

Copyright 2005 OProfile authors
Read the file COPYING
John Levon Gisle Dankel

Define Documentation

#define HASH_BITS   (HASH_SIZE - 1)

Referenced by sfile_find().

#define HASH_SIZE   1024
#define LRU_AMOUNT   (LRU_SIZE/8)
#define LRU_SIZE   8192

Function Documentation

void anon_init ( void   ) 

References HASH_SIZE.

struct anon_mapping* find_anon_mapping ( struct transient trans  )  [read]

Try to find an anonymous mapping for the given pc/tgid pair.

References anon_mapping::end, anon_mapping::list, list_entry, list_for_each, anon_mapping::start, anon_mapping::tgid, verbprintf, and vmisc.

Generated on 29 Jul 2013 for oprofile by  doxygen 1.6.1