mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
Declare bin_parser_free();
2006-11-19 Soren Sandmann <sandmann@redhat.com> * binparser.h: Declare bin_parser_free(); * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on the file. * process.c (struct Process): Remove do_offset.
This commit is contained in:
committed by
Søren Sandmann Pedersen
parent
66fc976342
commit
9af533a11f
@ -1,3 +1,12 @@
|
|||||||
|
2006-11-19 Soren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
|
* binparser.h: Declare bin_parser_free();
|
||||||
|
|
||||||
|
* elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
|
||||||
|
the file.
|
||||||
|
|
||||||
|
* process.c (struct Process): Remove do_offset.
|
||||||
|
|
||||||
Thu Nov 9 17:55:24 2006 Søren Sandmann <sandmann@redhat.com>
|
Thu Nov 9 17:55:24 2006 Søren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
* TODO (-): udpate
|
* TODO (-): udpate
|
||||||
|
|||||||
11
TODO
11
TODO
@ -203,7 +203,18 @@ Before 1.2:
|
|||||||
- plug all the leaks
|
- plug all the leaks
|
||||||
- loading and saving probably leak right now
|
- loading and saving probably leak right now
|
||||||
|
|
||||||
|
- make it use less memory:
|
||||||
|
- StackNodes are dominating
|
||||||
|
- fold 'toplevel' into 'size'
|
||||||
|
- allocate in blocks
|
||||||
|
- this will need to be coordinated with
|
||||||
|
profile.c which also creates stacknodes.
|
||||||
|
|
||||||
|
- maybe simply make stackstashes able to
|
||||||
|
save themselves.
|
||||||
|
|
||||||
- rethink loading and saving. Goals
|
- rethink loading and saving. Goals
|
||||||
|
|
||||||
- Can load 1.0 profiles
|
- Can load 1.0 profiles
|
||||||
- Don't export too much of stackstashes to the rest of the
|
- Don't export too much of stackstashes to the rest of the
|
||||||
app
|
app
|
||||||
|
|||||||
@ -8,6 +8,7 @@ typedef struct BinRecord BinRecord;
|
|||||||
/* BinParser */
|
/* BinParser */
|
||||||
BinParser * bin_parser_new (const guchar *data,
|
BinParser * bin_parser_new (const guchar *data,
|
||||||
gsize length);
|
gsize length);
|
||||||
|
void bin_parser_free (BinParser *parser);
|
||||||
const guchar *bin_parser_get_data (BinParser *parser);
|
const guchar *bin_parser_get_data (BinParser *parser);
|
||||||
gsize bin_parser_get_length (BinParser *parser);
|
gsize bin_parser_get_length (BinParser *parser);
|
||||||
gsize bin_parser_get_offset (BinParser *parser);
|
gsize bin_parser_get_offset (BinParser *parser);
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <elf.h>
|
#include <elf.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
#include "binparser.h"
|
#include "binparser.h"
|
||||||
#include "elfparser.h"
|
#include "elfparser.h"
|
||||||
|
|
||||||
@ -269,6 +270,14 @@ elf_parser_get_crc32 (ElfParser *parser)
|
|||||||
for (i = 0; i < length; ++i)
|
for (i = 0; i < length; ++i)
|
||||||
crc = crc32_table[(crc ^ data[i]) & 0xff] ^ (crc >> 8);
|
crc = crc32_table[(crc ^ data[i]) & 0xff] ^ (crc >> 8);
|
||||||
|
|
||||||
|
/* We just read the entire file into memory, but we only really
|
||||||
|
* need the symbol table, so swap the whole thing out.
|
||||||
|
*
|
||||||
|
* We could be more exact here, but it's only a few minor
|
||||||
|
* pagefaults.
|
||||||
|
*/
|
||||||
|
madvise ((char *)data, length, MADV_DONTNEED);
|
||||||
|
|
||||||
return ~crc & 0xffffffff;
|
return ~crc & 0xffffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -40,9 +40,6 @@ struct Map
|
|||||||
gulong end;
|
gulong end;
|
||||||
gulong offset;
|
gulong offset;
|
||||||
gulong inode;
|
gulong inode;
|
||||||
#if 0
|
|
||||||
gboolean do_offset;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
BinFile * bin_file;
|
BinFile * bin_file;
|
||||||
};
|
};
|
||||||
|
|||||||
4
sfile.c
4
sfile.c
@ -1,3 +1,5 @@
|
|||||||
|
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- */
|
||||||
|
|
||||||
/* Sysprof -- Sampling, systemwide CPU profiler
|
/* Sysprof -- Sampling, systemwide CPU profiler
|
||||||
* Copyright 2004, Red Hat, Inc.
|
* Copyright 2004, Red Hat, Inc.
|
||||||
* Copyright 2004, 2005, Soeren Sandmann
|
* Copyright 2004, 2005, Soeren Sandmann
|
||||||
@ -17,8 +19,6 @@
|
|||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- */
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user