mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
Update TODO
svn path=/trunk/; revision=394
This commit is contained in:
3
TODO
3
TODO
@ -23,6 +23,9 @@ Before 1.0.4:
|
|||||||
|
|
||||||
Before 1.2:
|
Before 1.2:
|
||||||
|
|
||||||
|
* Make sure there aren't leftover stacktraces from last time when
|
||||||
|
profiling begins.
|
||||||
|
|
||||||
* Is the move-to-front in process_locate_map() really worth it?
|
* Is the move-to-front in process_locate_map() really worth it?
|
||||||
|
|
||||||
* Whenever we fail to lock the atomic variable, track this, and send the information
|
* Whenever we fail to lock the atomic variable, track this, and send the information
|
||||||
|
|||||||
@ -169,8 +169,6 @@ in_dead_period (Collector *collector)
|
|||||||
static void
|
static void
|
||||||
collect_traces (Collector *collector)
|
collect_traces (Collector *collector)
|
||||||
{
|
{
|
||||||
int n;
|
|
||||||
|
|
||||||
/* After a reset we ignore samples for a short period so that
|
/* After a reset we ignore samples for a short period so that
|
||||||
* a reset will actually cause 'samples' to become 0
|
* a reset will actually cause 'samples' to become 0
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -187,7 +187,9 @@ heuristic_trace (struct pt_regs *regs,
|
|||||||
#endif
|
#endif
|
||||||
unsigned long i;
|
unsigned long i;
|
||||||
int j;
|
int j;
|
||||||
|
#if 0
|
||||||
int n_bytes = minimum (eos - esp, (SYSPROF_MAX_ADDRESSES - 1) * sizeof (void *));
|
int n_bytes = minimum (eos - esp, (SYSPROF_MAX_ADDRESSES - 1) * sizeof (void *));
|
||||||
|
#endif
|
||||||
|
|
||||||
j = 1;
|
j = 1;
|
||||||
for (i = esp; i < eos && j < SYSPROF_MAX_ADDRESSES; i += sizeof (void *)) {
|
for (i = esp; i < eos && j < SYSPROF_MAX_ADDRESSES; i += sizeof (void *)) {
|
||||||
@ -198,10 +200,10 @@ heuristic_trace (struct pt_regs *regs,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
vma = find_vma (current->mm, x);
|
vma = find_vma (current->mm, x);
|
||||||
if (vma && vma->vm_flags & VM_EXEC && vma->vm_start <= x && x <= vma->vm_end) {
|
|
||||||
trace->addresses[j++] = x;
|
if (vma && vma->vm_flags & VM_EXEC)
|
||||||
}
|
if (vma->vm_start <= x && x <= vma->vm_end)
|
||||||
|
trace->addresses[j++] = x;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
@ -284,6 +286,8 @@ timer_notify (struct pt_regs *regs)
|
|||||||
heuristic_trace (regs, trace);
|
heuristic_trace (regs, trace);
|
||||||
#elif CONFIG_X86
|
#elif CONFIG_X86
|
||||||
framepointer_trace (regs, trace);
|
framepointer_trace (regs, trace);
|
||||||
|
#else
|
||||||
|
#error Sysprof only supports the i386 and x86-64 architectures
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -698,7 +698,7 @@ process_lookup_symbol (Process *process, gulong address)
|
|||||||
process->undefined =
|
process->undefined =
|
||||||
g_strdup_printf ("No map (%s)", process->cmdline);
|
g_strdup_printf ("No map (%s)", process->cmdline);
|
||||||
}
|
}
|
||||||
|
|
||||||
return process->undefined;
|
return process->undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user