lsrec_t
lsrec_t *lsp, **current, **first, **sort_buf, **merge_buf;
for (i = 0, lsp = (lsrec_t *)data_buf; i < g_nrecs_used; i++,
lsp = (lsrec_t *)((char *)lsp + g_recsize)) {
lsrec_t *newlsp, *oldlsp;
for (i = 0, oldlsp = (lsrec_t *)data_buf; i < g_nrecs_used; i++,
oldlsp = (lsrec_t *)((char *)oldlsp + g_recsize)) {
lsp = (lsrec_t *)((char *)lsp + LS_TIME);
lsp = (lsrec_t *)((char *)lsp + LS_TIME);
for (i = 0, lsp = (lsrec_t *)data_buf; i < g_nrecs_used; i++,
lsp = (lsrec_t *)((char *)lsp + g_recsize)) {
report_stats(FILE *out, lsrec_t **sort_buf, size_t nrecs, uint64_t total_count,
lsrec_t *lsp;
report_trace(FILE *out, lsrec_t **sort_buf)
lsrec_t *lsp;
lockcmp(lsrec_t *a, lsrec_t *b)
countcmp(lsrec_t *a, lsrec_t *b)
timecmp(lsrec_t *a, lsrec_t *b)
lockcmp_anywhere(lsrec_t *a, lsrec_t *b)
lock_and_count_cmp_anywhere(lsrec_t *a, lsrec_t *b)
sitecmp_anylock(lsrec_t *a, lsrec_t *b)
site_and_count_cmp_anylock(lsrec_t *a, lsrec_t *b)
mergesort(int (*cmp)(lsrec_t *, lsrec_t *), lsrec_t **a, lsrec_t **b, int n)
coalesce(int (*cmp)(lsrec_t *, lsrec_t *), lsrec_t **lock, int n)
lsrec_t *target, *current;
#define LS_BASIC offsetof(lsrec_t, ls_time)
#define LS_TIME offsetof(lsrec_t, ls_hist[0])
#define LS_HIST offsetof(lsrec_t, ls_stack[0])
#define LS_STACK(depth) offsetof(lsrec_t, ls_stack[depth])
static void report_stats(FILE *, lsrec_t **, size_t, uint64_t, uint64_t);
static void report_trace(FILE *, lsrec_t **);
lsrec_fill(lsrec_t *lsrec, const dtrace_recdesc_t *rec, int nrecs, caddr_t data)
lsrec_t *lsrec = lsdata->lsd_next;
lsdata->lsd_next = (lsrec_t *)((uintptr_t)lsrec + g_recsize);
lsrec_t *lsrec = lsdata->lsd_next;
lsdata->lsd_next = (lsrec_t *)((uintptr_t)lsrec + g_recsize);
lsdata.lsd_next = (lsrec_t *)data;