Lines Matching refs:lbr_stitch

2284 	struct lbr_stitch *lbr_stitch = thread->lbr_stitch;
2286 if (!lbr_stitch)
2290 lbr_stitch->prev_lbr_cursor[idx].valid = false;
2298 memcpy(&lbr_stitch->prev_lbr_cursor[idx], cursor->curr,
2301 lbr_stitch->prev_lbr_cursor[idx].valid = true;
2326 if (thread->lbr_stitch) {
2354 if (thread->lbr_stitch && (cursor->pos != cursor->nr)) {
2409 struct lbr_stitch *lbr_stitch = thread->lbr_stitch;
2414 list_for_each_entry(stitch_node, &lbr_stitch->lists, node) {
2433 struct lbr_stitch *lbr_stitch = thread->lbr_stitch;
2436 if (!list_empty(&lbr_stitch->free_lists)) {
2437 stitch_node = list_first_entry(&lbr_stitch->free_lists,
2457 struct lbr_stitch *lbr_stitch = thread->lbr_stitch;
2495 * and the base-of-stack of current sample into lbr_stitch->lists.
2500 if (!lbr_stitch->prev_lbr_cursor[i].valid)
2507 memcpy(&stitch_node->cursor, &lbr_stitch->prev_lbr_cursor[i],
2511 list_add(&stitch_node->node, &lbr_stitch->lists);
2513 list_add_tail(&stitch_node->node, &lbr_stitch->lists);
2521 if (thread->lbr_stitch)
2524 thread->lbr_stitch = zalloc(sizeof(*thread->lbr_stitch));
2525 if (!thread->lbr_stitch)
2528 thread->lbr_stitch->prev_lbr_cursor = calloc(max_lbr + 1, sizeof(struct callchain_cursor_node));
2529 if (!thread->lbr_stitch->prev_lbr_cursor)
2532 INIT_LIST_HEAD(&thread->lbr_stitch->lists);
2533 INIT_LIST_HEAD(&thread->lbr_stitch->free_lists);
2538 zfree(&thread->lbr_stitch);
2563 struct lbr_stitch *lbr_stitch;
2579 lbr_stitch = thread->lbr_stitch;
2582 &lbr_stitch->prev_sample,
2585 if (!stitched_lbr && !list_empty(&lbr_stitch->lists)) {
2586 list_replace_init(&lbr_stitch->lists,
2587 &lbr_stitch->free_lists);
2589 memcpy(&lbr_stitch->prev_sample, sample, sizeof(*sample));