he 342 arch/powerpc/sysdev/xive/native.c u8 he, cppr; he 356 arch/powerpc/sysdev/xive/native.c he = (ack >> 8) >> 6; he 357 arch/powerpc/sysdev/xive/native.c switch(he) { he 380 arch/powerpc/sysdev/xive/native.c smp_processor_id(), he); he 628 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c u8 he, channel; he 647 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c he = cmd->map_ch_res.he_addr; he 648 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c card_data->channel_to_he[channel] = he; he 319 drivers/net/ethernet/mellanox/mlx5/core/main.c u8 he; he 624 drivers/net/ethernet/mellanox/mlx5/core/main.c he_in.he = MLX5_SET_HOST_ENDIANNESS; he 1167 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c struct ieee80211_radiotap_he *he, he 1185 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_BW_RU_ALLOC_KNOWN); he 1215 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data2 |= le16_encode_bits(offs, he 1217 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data2 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA2_PRISEC_80_KNOWN | he 1220 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data2 |= he 1239 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data6 |= he 1248 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c struct ieee80211_radiotap_he *he, he 1262 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE_KNOWN | he 1266 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2, he 1269 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2, he 1272 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2, he 1275 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2, he 1284 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_LDPC_XSYMSEG_KNOWN | he 1287 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data2 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA2_PRE_FEC_PAD_KNOWN | he 1291 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data3 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1296 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_UL_DL_KNOWN); he 1297 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data3 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1301 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data3 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1304 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data5 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1307 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data5 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1310 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data5 |= le16_encode_bits(le32_get_bits(phy_data->d1, he 1313 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data6 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1316 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data6 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1326 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE_KNOWN); he 1327 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1365 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he, he_mu, rx_status); he 1368 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_BEAM_CHANGE_KNOWN); he 1369 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data3 |= le16_encode_bits(le32_get_bits(phy_data->d0, he 1384 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c struct ieee80211_radiotap_he *he = NULL; he 1405 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he = skb_put_data(skb, &known, sizeof(known)); he 1423 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c iwl_mvm_decode_he_phy_data(mvm, phy_data, he, he_mu, rx_status, he 1448 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= he 1473 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data1 |= cpu_to_le16(he_type >> RATE_MCS_HE_TYPE_POS); he 1476 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data5 |= cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA5_TXBF); he 1517 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c he->data5 |= le16_encode_bits(ltf, he 178 drivers/video/fbdev/asiliantfb.c unsigned he = (p->var.xres + p->var.right_margin + p->var.hsync_len) / 8; he 198 drivers/video/fbdev/asiliantfb.c write_cr(0x05, (((ht - 1) & 0x20) <<2) | (he & 0x1f)); he 192 drivers/video/fbdev/matrox/matroxfb_misc.c unsigned int hd, hs, he, hbe, ht; he 242 drivers/video/fbdev/matrox/matroxfb_misc.c he = m->HSyncEnd >> 3; he 251 drivers/video/fbdev/matrox/matroxfb_misc.c he >>= 1; he 260 drivers/video/fbdev/matrox/matroxfb_misc.c he <<= 1; he 266 drivers/video/fbdev/matrox/matroxfb_misc.c he = he - 1; he 283 drivers/video/fbdev/matrox/matroxfb_misc.c hw->CRTCEXT[5] = (hs + he - ht) >> 1; he 309 drivers/video/fbdev/matrox/matroxfb_misc.c hw->CRTC[5] = ((hbe & 0x20) << 2) | (he & 0x1F); he 551 drivers/video/fbdev/tdfxfb.c u32 hd, hs, he, ht, hbs, hbe; he 583 drivers/video/fbdev/tdfxfb.c he = (hsyncend >> 3) - 1; he 648 drivers/video/fbdev/tdfxfb.c reg.crt[0x05] = ((hbe & 0x20) << 2) | (he & 0x1f); he 673 drivers/video/fbdev/tdfxfb.c ((he & 0x20) << 2)); he 8983 include/linux/mlx5/mlx5_ifc.h u8 he[0x1]; he 114 include/linux/rhashtable.h const struct rhash_head *he) he 116 include/linux/rhashtable.h return (char *)he - ht->p.head_offset; he 166 include/linux/rhashtable.h const struct rhash_head *he, const struct rhashtable_params params) he 168 include/linux/rhashtable.h const char *ptr = rht_obj(ht, he); he 598 include/linux/rhashtable.h struct rhash_head *he; he 606 include/linux/rhashtable.h rht_for_each_rcu_from(he, rht_ptr_rcu(bkt), tbl, hash) { he 608 include/linux/rhashtable.h params.obj_cmpfn(&arg, rht_obj(ht, he)) : he 609 include/linux/rhashtable.h rhashtable_compare(&arg, rht_obj(ht, he))) he 611 include/linux/rhashtable.h return he; he 616 include/linux/rhashtable.h } while (he != RHT_NULLS_MARKER(bkt)); he 645 include/linux/rhashtable.h struct rhash_head *he = __rhashtable_lookup(ht, key, params); he 647 include/linux/rhashtable.h return he ? rht_obj(ht, he) : NULL; he 695 include/linux/rhashtable.h struct rhash_head *he = __rhashtable_lookup(&hlt->ht, key, params); he 697 include/linux/rhashtable.h return he ? container_of(he, struct rhlist_head, rhead) : NULL; he 1000 include/linux/rhashtable.h struct rhash_head *he; he 1011 include/linux/rhashtable.h rht_for_each_from(he, rht_ptr(bkt, tbl, hash), tbl, hash) { he 1014 include/linux/rhashtable.h list = container_of(he, struct rhlist_head, rhead); he 1016 include/linux/rhashtable.h if (he != obj) { he 1019 include/linux/rhashtable.h pprev = &he->next; he 1152 include/linux/rhashtable.h struct rhash_head *he; he 1170 include/linux/rhashtable.h rht_for_each_from(he, rht_ptr(bkt, tbl, hash), tbl, hash) { he 1171 include/linux/rhashtable.h if (he != obj_old) { he 1172 include/linux/rhashtable.h pprev = &he->next; he 207 kernel/locking/qspinlock_paravirt.h #define for_each_hash_entry(he, offset, hash) \ he 208 kernel/locking/qspinlock_paravirt.h for (hash &= ~(PV_HE_PER_LINE - 1), he = &pv_lock_hash[hash], offset = 0; \ he 210 kernel/locking/qspinlock_paravirt.h offset++, he = &pv_lock_hash[(hash + offset) & ((1 << pv_lock_hash_bits) - 1)]) he 215 kernel/locking/qspinlock_paravirt.h struct pv_hash_entry *he; he 218 kernel/locking/qspinlock_paravirt.h for_each_hash_entry(he, offset, hash) { he 220 kernel/locking/qspinlock_paravirt.h if (!cmpxchg(&he->lock, NULL, lock)) { he 221 kernel/locking/qspinlock_paravirt.h WRITE_ONCE(he->node, node); he 223 kernel/locking/qspinlock_paravirt.h return &he->lock; he 242 kernel/locking/qspinlock_paravirt.h struct pv_hash_entry *he; he 245 kernel/locking/qspinlock_paravirt.h for_each_hash_entry(he, offset, hash) { he 246 kernel/locking/qspinlock_paravirt.h if (READ_ONCE(he->lock) == lock) { he 247 kernel/locking/qspinlock_paravirt.h node = READ_ONCE(he->node); he 248 kernel/locking/qspinlock_paravirt.h WRITE_ONCE(he->lock, NULL); he 39 lib/rhashtable.c const struct rhash_head *he) he 41 lib/rhashtable.c return rht_head_hashfn(ht, tbl, he, ht->p); he 167 lib/test_hexdump.c int ae, he, e, f, r; he 181 lib/test_hexdump.c he = (gs * 2 /* hex */ + 1 /* space */) * len / gs - 1 /* no trailing space */; he 186 lib/test_hexdump.c e = he; he 305 net/mac80211/rx.c struct ieee80211_radiotap_he he = {}; he 310 net/mac80211/rx.c he = *(struct ieee80211_radiotap_he *)skb->data; he 311 net/mac80211/rx.c skb_pull(skb, sizeof(he)); he 586 net/mac80211/rx.c he.data6 |= HE_PREP(DATA6_NSTS, he 589 net/mac80211/rx.c he.data3 |= HE_PREP(DATA3_STBC, 1); he 591 net/mac80211/rx.c he.data6 |= HE_PREP(DATA6_NSTS, status->nss); he 602 net/mac80211/rx.c he.data3 |= HE_PREP(DATA3_DATA_MCS, status->rate_idx); he 603 net/mac80211/rx.c he.data3 |= HE_PREP(DATA3_DATA_DCM, status->he_dcm); he 604 net/mac80211/rx.c he.data3 |= HE_PREP(DATA3_CODING, he 607 net/mac80211/rx.c he.data5 |= HE_PREP(DATA5_GI, status->he_gi); he 611 net/mac80211/rx.c he.data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 615 net/mac80211/rx.c he.data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 619 net/mac80211/rx.c he.data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 623 net/mac80211/rx.c he.data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 639 net/mac80211/rx.c he.data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 650 net/mac80211/rx.c memcpy(pos, &he, sizeof(he)); he 651 net/mac80211/rx.c pos += sizeof(he); he 431 net/mac80211/status.c struct ieee80211_radiotap_he *he; he 437 net/mac80211/status.c he = (struct ieee80211_radiotap_he *)pos; he 439 net/mac80211/status.c he->data1 = cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_FORMAT_SU | he 444 net/mac80211/status.c he->data2 = cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA2_GI_KNOWN); he 448 net/mac80211/status.c he->data6 |= HE_PREP(DATA6_NSTS, status->rate->nss); he 458 net/mac80211/status.c he->data3 |= HE_PREP(DATA3_DATA_MCS, status->rate->mcs); he 459 net/mac80211/status.c he->data3 |= HE_PREP(DATA3_DATA_DCM, status->rate->he_dcm); he 461 net/mac80211/status.c he->data5 |= HE_PREP(DATA5_GI, status->rate->he_gi); he 465 net/mac80211/status.c he->data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 469 net/mac80211/status.c he->data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 473 net/mac80211/status.c he->data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 477 net/mac80211/status.c he->data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 493 net/mac80211/status.c he->data5 |= HE_PREP(DATA5_DATA_BW_RU_ALLOC, he 49 net/netfilter/nft_set_hash.c const struct nft_rhash_elem *he = data; he 51 net/netfilter/nft_set_hash.c return jhash(nft_set_ext_key(&he->ext), len, seed); he 58 net/netfilter/nft_set_hash.c const struct nft_rhash_elem *he = ptr; he 60 net/netfilter/nft_set_hash.c if (memcmp(nft_set_ext_key(&he->ext), x->key, x->set->klen)) he 62 net/netfilter/nft_set_hash.c if (nft_set_elem_expired(&he->ext)) he 64 net/netfilter/nft_set_hash.c if (!nft_set_elem_active(&he->ext, x->genmask)) he 81 net/netfilter/nft_set_hash.c const struct nft_rhash_elem *he; he 88 net/netfilter/nft_set_hash.c he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); he 89 net/netfilter/nft_set_hash.c if (he != NULL) he 90 net/netfilter/nft_set_hash.c *ext = &he->ext; he 92 net/netfilter/nft_set_hash.c return !!he; he 99 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he; he 106 net/netfilter/nft_set_hash.c he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); he 107 net/netfilter/nft_set_hash.c if (he != NULL) he 108 net/netfilter/nft_set_hash.c return he; he 122 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he, *prev; he 129 net/netfilter/nft_set_hash.c he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); he 130 net/netfilter/nft_set_hash.c if (he != NULL) he 133 net/netfilter/nft_set_hash.c he = new(set, expr, regs); he 134 net/netfilter/nft_set_hash.c if (he == NULL) he 137 net/netfilter/nft_set_hash.c prev = rhashtable_lookup_get_insert_key(&priv->ht, &arg, &he->node, he 144 net/netfilter/nft_set_hash.c nft_set_elem_destroy(set, he, true); he 145 net/netfilter/nft_set_hash.c he = prev; he 149 net/netfilter/nft_set_hash.c *ext = &he->ext; he 153 net/netfilter/nft_set_hash.c nft_set_elem_destroy(set, he, true); he 163 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he = elem->priv; he 171 net/netfilter/nft_set_hash.c prev = rhashtable_lookup_get_insert_key(&priv->ht, &arg, &he->node, he 185 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he = elem->priv; he 187 net/netfilter/nft_set_hash.c nft_set_elem_change_active(net, set, &he->ext); he 188 net/netfilter/nft_set_hash.c nft_set_elem_clear_busy(&he->ext); he 194 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he = priv; he 196 net/netfilter/nft_set_hash.c if (!nft_set_elem_mark_busy(&he->ext) || he 197 net/netfilter/nft_set_hash.c !nft_is_active(net, &he->ext)) { he 198 net/netfilter/nft_set_hash.c nft_set_elem_change_active(net, set, &he->ext); he 209 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he; he 217 net/netfilter/nft_set_hash.c he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); he 218 net/netfilter/nft_set_hash.c if (he != NULL && he 219 net/netfilter/nft_set_hash.c !nft_rhash_flush(net, set, he)) he 220 net/netfilter/nft_set_hash.c he = NULL; he 224 net/netfilter/nft_set_hash.c return he; he 232 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he = elem->priv; he 234 net/netfilter/nft_set_hash.c rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params); he 246 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he; he 248 net/netfilter/nft_set_hash.c he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); he 249 net/netfilter/nft_set_hash.c if (he == NULL) he 252 net/netfilter/nft_set_hash.c return rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params) == 0; he 259 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he; he 266 net/netfilter/nft_set_hash.c while ((he = rhashtable_walk_next(&hti))) { he 267 net/netfilter/nft_set_hash.c if (IS_ERR(he)) { he 268 net/netfilter/nft_set_hash.c if (PTR_ERR(he) != -EAGAIN) { he 269 net/netfilter/nft_set_hash.c iter->err = PTR_ERR(he); he 278 net/netfilter/nft_set_hash.c if (nft_set_elem_expired(&he->ext)) he 280 net/netfilter/nft_set_hash.c if (!nft_set_elem_active(&he->ext, iter->genmask)) he 283 net/netfilter/nft_set_hash.c elem.priv = he; he 299 net/netfilter/nft_set_hash.c struct nft_rhash_elem *he; he 310 net/netfilter/nft_set_hash.c while ((he = rhashtable_walk_next(&hti))) { he 311 net/netfilter/nft_set_hash.c if (IS_ERR(he)) { he 312 net/netfilter/nft_set_hash.c if (PTR_ERR(he) != -EAGAIN) he 317 net/netfilter/nft_set_hash.c if (nft_set_ext_exists(&he->ext, NFT_SET_EXT_EXPR)) { he 318 net/netfilter/nft_set_hash.c struct nft_expr *expr = nft_set_ext_expr(&he->ext); he 324 net/netfilter/nft_set_hash.c if (!nft_set_elem_expired(&he->ext)) he 327 net/netfilter/nft_set_hash.c if (nft_set_elem_mark_busy(&he->ext)) he 333 net/netfilter/nft_set_hash.c rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params); he 335 net/netfilter/nft_set_hash.c nft_set_gc_batch_add(gcb, he); he 427 net/netfilter/nft_set_hash.c const struct nft_hash_elem *he; he 432 net/netfilter/nft_set_hash.c hlist_for_each_entry_rcu(he, &priv->table[hash], node) { he 433 net/netfilter/nft_set_hash.c if (!memcmp(nft_set_ext_key(&he->ext), key, set->klen) && he 434 net/netfilter/nft_set_hash.c nft_set_elem_active(&he->ext, genmask)) { he 435 net/netfilter/nft_set_hash.c *ext = &he->ext; he 447 net/netfilter/nft_set_hash.c struct nft_hash_elem *he; he 452 net/netfilter/nft_set_hash.c hlist_for_each_entry_rcu(he, &priv->table[hash], node) { he 453 net/netfilter/nft_set_hash.c if (!memcmp(nft_set_ext_key(&he->ext), elem->key.val.data, set->klen) && he 454 net/netfilter/nft_set_hash.c nft_set_elem_active(&he->ext, genmask)) he 455 net/netfilter/nft_set_hash.c return he; he 466 net/netfilter/nft_set_hash.c const struct nft_hash_elem *he; he 472 net/netfilter/nft_set_hash.c hlist_for_each_entry_rcu(he, &priv->table[hash], node) { he 473 net/netfilter/nft_set_hash.c k2 = *(u32 *)nft_set_ext_key(&he->ext)->data; he 475 net/netfilter/nft_set_hash.c nft_set_elem_active(&he->ext, genmask)) { he 476 net/netfilter/nft_set_hash.c *ext = &he->ext; he 504 net/netfilter/nft_set_hash.c struct nft_hash_elem *this = elem->priv, *he; he 510 net/netfilter/nft_set_hash.c hlist_for_each_entry(he, &priv->table[hash], node) { he 512 net/netfilter/nft_set_hash.c nft_set_ext_key(&he->ext), set->klen) && he 513 net/netfilter/nft_set_hash.c nft_set_elem_active(&he->ext, genmask)) { he 514 net/netfilter/nft_set_hash.c *ext = &he->ext; he 525 net/netfilter/nft_set_hash.c struct nft_hash_elem *he = elem->priv; he 527 net/netfilter/nft_set_hash.c nft_set_elem_change_active(net, set, &he->ext); he 533 net/netfilter/nft_set_hash.c struct nft_hash_elem *he = priv; he 535 net/netfilter/nft_set_hash.c nft_set_elem_change_active(net, set, &he->ext); he 544 net/netfilter/nft_set_hash.c struct nft_hash_elem *this = elem->priv, *he; he 549 net/netfilter/nft_set_hash.c hlist_for_each_entry(he, &priv->table[hash], node) { he 550 net/netfilter/nft_set_hash.c if (!memcmp(nft_set_ext_key(&he->ext), &elem->key.val, he 552 net/netfilter/nft_set_hash.c nft_set_elem_active(&he->ext, genmask)) { he 553 net/netfilter/nft_set_hash.c nft_set_elem_change_active(net, set, &he->ext); he 554 net/netfilter/nft_set_hash.c return he; he 564 net/netfilter/nft_set_hash.c struct nft_hash_elem *he = elem->priv; he 566 net/netfilter/nft_set_hash.c hlist_del_rcu(&he->node); he 573 net/netfilter/nft_set_hash.c struct nft_hash_elem *he; he 578 net/netfilter/nft_set_hash.c hlist_for_each_entry_rcu(he, &priv->table[i], node) { he 581 net/netfilter/nft_set_hash.c if (!nft_set_elem_active(&he->ext, iter->genmask)) he 584 net/netfilter/nft_set_hash.c elem.priv = he; he 617 net/netfilter/nft_set_hash.c struct nft_hash_elem *he; he 622 net/netfilter/nft_set_hash.c hlist_for_each_entry_safe(he, next, &priv->table[i], node) { he 623 net/netfilter/nft_set_hash.c hlist_del_rcu(&he->node); he 624 net/netfilter/nft_set_hash.c nft_set_elem_destroy(set, he, true); he 160 tools/perf/builtin-annotate.c struct hist_entry *he = iter->he; he 166 tools/perf/builtin-annotate.c bi = he->branch_info; he 222 tools/perf/builtin-annotate.c struct hist_entry *he; he 252 tools/perf/builtin-annotate.c he = hists__add_entry(hists, al, NULL, NULL, NULL, sample, true); he 253 tools/perf/builtin-annotate.c if (he == NULL) he 256 tools/perf/builtin-annotate.c ret = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); he 299 tools/perf/builtin-annotate.c static int hist_entry__tty_annotate(struct hist_entry *he, he 304 tools/perf/builtin-annotate.c return symbol__tty_annotate(he->ms.sym, he->ms.map, evsel, &ann->opts); he 306 tools/perf/builtin-annotate.c return symbol__tty_annotate2(he->ms.sym, he->ms.map, evsel, &ann->opts); he 317 tools/perf/builtin-annotate.c struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); he 320 tools/perf/builtin-annotate.c if (he->ms.sym == NULL || he->ms.map->dso->annotate_warned) he 324 tools/perf/builtin-annotate.c (strcmp(he->ms.sym->name, ann->sym_hist_filter) != 0)) he 327 tools/perf/builtin-annotate.c notes = symbol__annotation(he->ms.sym); he 339 tools/perf/builtin-annotate.c int (*annotate)(struct hist_entry *he, he 350 tools/perf/builtin-annotate.c ret = annotate(he, evsel, NULL); he 357 tools/perf/builtin-annotate.c key = hist_entry__tui_annotate(he, evsel, NULL, &ann->opts); he 377 tools/perf/builtin-annotate.c hist_entry__tty_annotate(he, evsel, ann); he 77 tools/perf/builtin-c2c.c struct hist_entry he; he 155 tools/perf/builtin-c2c.c return &c2c_he->he; he 158 tools/perf/builtin-c2c.c static void c2c_he_free(void *he) he 162 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 185 tools/perf/builtin-c2c.c he__get_c2c_hists(struct hist_entry *he, he 193 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 265 tools/perf/builtin-c2c.c struct hist_entry *he; he 294 tools/perf/builtin-c2c.c he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops, he 297 tools/perf/builtin-c2c.c if (he == NULL) he 300 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 307 tools/perf/builtin-c2c.c hists__inc_nr_samples(&c2c_hists->hists, he->filtered); he 308 tools/perf/builtin-c2c.c ret = hist_entry__append_callchain(he, sample); he 324 tools/perf/builtin-c2c.c c2c_hists = he__get_c2c_hists(he, c2c.cl_sort, 2); he 328 tools/perf/builtin-c2c.c he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops, he 331 tools/perf/builtin-c2c.c if (he == NULL) he 334 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 344 tools/perf/builtin-c2c.c hists__inc_nr_samples(&c2c_hists->hists, he->filtered); he 345 tools/perf/builtin-c2c.c ret = hist_entry__append_callchain(he, sample); he 403 tools/perf/builtin-c2c.c struct hist_entry *he); he 405 tools/perf/builtin-c2c.c struct hist_entry *he); he 493 tools/perf/builtin-c2c.c struct hist_entry *he) he 496 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 499 tools/perf/builtin-c2c.c if (he->mem_info) he 500 tools/perf/builtin-c2c.c addr = cl_address(he->mem_info->daddr.addr); he 507 tools/perf/builtin-c2c.c struct hist_entry *he) he 510 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 512 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 521 tools/perf/builtin-c2c.c struct hist_entry *he) he 524 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 526 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 531 tools/perf/builtin-c2c.c struct hist_entry *he) he 534 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 537 tools/perf/builtin-c2c.c if (he->mem_info) he 538 tools/perf/builtin-c2c.c addr = cl_offset(he->mem_info->daddr.al_addr); he 559 tools/perf/builtin-c2c.c struct hist_entry *he) he 562 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 565 tools/perf/builtin-c2c.c if (he->mem_info) he 566 tools/perf/builtin-c2c.c addr = he->mem_info->iaddr.addr; he 580 tools/perf/builtin-c2c.c struct hist_entry *he) he 583 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 586 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 601 tools/perf/builtin-c2c.c c2c_left = container_of(left, struct c2c_hist_entry, he); he 602 tools/perf/builtin-c2c.c c2c_right = container_of(right, struct c2c_hist_entry, he); he 613 tools/perf/builtin-c2c.c struct hist_entry *he) \ he 616 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); \ he 618 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); \ he 630 tools/perf/builtin-c2c.c c2c_left = container_of(left, struct c2c_hist_entry, he); \ he 631 tools/perf/builtin-c2c.c c2c_right = container_of(right, struct c2c_hist_entry, he); \ he 665 tools/perf/builtin-c2c.c struct hist_entry *he) he 668 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 670 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 683 tools/perf/builtin-c2c.c c2c_left = container_of(left, struct c2c_hist_entry, he); he 684 tools/perf/builtin-c2c.c c2c_right = container_of(right, struct c2c_hist_entry, he); he 715 tools/perf/builtin-c2c.c struct hist_entry *he) he 718 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 721 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 736 tools/perf/builtin-c2c.c c2c_left = container_of(left, struct c2c_hist_entry, he); he 737 tools/perf/builtin-c2c.c c2c_right = container_of(right, struct c2c_hist_entry, he); he 766 tools/perf/builtin-c2c.c struct hist_entry *he) he 769 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 772 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 787 tools/perf/builtin-c2c.c c2c_left = container_of(left, struct c2c_hist_entry, he); he 788 tools/perf/builtin-c2c.c c2c_right = container_of(right, struct c2c_hist_entry, he); he 800 tools/perf/builtin-c2c.c struct hist_entry *he, get_percent_cb get_percent) he 803 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 806 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 824 tools/perf/builtin-c2c.c hists = container_of(c2c_he->he.hists, struct c2c_hists, hists); he 857 tools/perf/builtin-c2c.c struct hist_entry *he) he 860 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 864 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 871 tools/perf/builtin-c2c.c struct hist_entry *he) he 873 tools/perf/builtin-c2c.c return percent_color(fmt, hpp, he, percent_hitm); he 885 tools/perf/builtin-c2c.c c2c_left = container_of(left, struct c2c_hist_entry, he); he 886 tools/perf/builtin-c2c.c c2c_right = container_of(right, struct c2c_hist_entry, he); he 894 tools/perf/builtin-c2c.c static struct c2c_stats *he_stats(struct hist_entry *he) he 898 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 902 tools/perf/builtin-c2c.c static struct c2c_stats *total_stats(struct hist_entry *he) he 906 tools/perf/builtin-c2c.c hists = container_of(he->hists, struct c2c_hists, hists); he 922 tools/perf/builtin-c2c.c hists = container_of(c2c_he->he.hists, struct c2c_hists, hists); \ he 933 tools/perf/builtin-c2c.c struct hist_entry *he) he 935 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 936 tools/perf/builtin-c2c.c double per = PERCENT(he, rmt_hitm); he 944 tools/perf/builtin-c2c.c struct hist_entry *he) he 946 tools/perf/builtin-c2c.c return percent_color(fmt, hpp, he, percent_rmt_hitm); he 964 tools/perf/builtin-c2c.c struct hist_entry *he) he 966 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 967 tools/perf/builtin-c2c.c double per = PERCENT(he, lcl_hitm); he 975 tools/perf/builtin-c2c.c struct hist_entry *he) he 977 tools/perf/builtin-c2c.c return percent_color(fmt, hpp, he, percent_lcl_hitm); he 995 tools/perf/builtin-c2c.c struct hist_entry *he) he 997 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 998 tools/perf/builtin-c2c.c double per = PERCENT(he, st_l1hit); he 1006 tools/perf/builtin-c2c.c struct hist_entry *he) he 1008 tools/perf/builtin-c2c.c return percent_color(fmt, hpp, he, percent_st_l1hit); he 1026 tools/perf/builtin-c2c.c struct hist_entry *he) he 1028 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 1029 tools/perf/builtin-c2c.c double per = PERCENT(he, st_l1miss); he 1037 tools/perf/builtin-c2c.c struct hist_entry *he) he 1039 tools/perf/builtin-c2c.c return percent_color(fmt, hpp, he, percent_st_l1miss); he 1060 tools/perf/builtin-c2c.c struct hist_entry *he) he 1062 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 1064 tools/perf/builtin-c2c.c return scnprintf(hpp->buf, hpp->size, "%*d", width, he->thread->pid_); he 1084 tools/perf/builtin-c2c.c struct hist_entry *he) he 1091 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 1182 tools/perf/builtin-c2c.c struct hist_entry *he, double mean) he 1184 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 1193 tools/perf/builtin-c2c.c __func(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he) \ he 1196 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); \ he 1197 tools/perf/builtin-c2c.c return mean_entry(fmt, hpp, he, avg_stats(&c2c_he->cstats.__val)); \ he 1206 tools/perf/builtin-c2c.c struct hist_entry *he) he 1209 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 1212 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 1220 tools/perf/builtin-c2c.c struct hist_entry *he) he 1223 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 1226 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 1234 tools/perf/builtin-c2c.c struct hist_entry *he) he 1236 tools/perf/builtin-c2c.c int width = c2c_width(fmt, hpp, he->hists); he 1714 tools/perf/builtin-c2c.c struct hist_entry *he) he 1721 tools/perf/builtin-c2c.c len = hists__col_len(he->hists, dim->se->se_width_idx); he 1724 tools/perf/builtin-c2c.c len = symbol_width(he->hists, dim->se); he 1727 tools/perf/builtin-c2c.c return dim->se->se_snprintf(he, hpp->buf, hpp->size, len); he 1894 tools/perf/builtin-c2c.c static bool he__display(struct hist_entry *he, struct c2c_stats *stats) he 1902 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 1908 tools/perf/builtin-c2c.c he->filtered = HIST_FILTER__C2C; \ he 1910 tools/perf/builtin-c2c.c he->filtered = HIST_FILTER__C2C; \ he 1928 tools/perf/builtin-c2c.c return he->filtered == 0; he 1931 tools/perf/builtin-c2c.c static inline int valid_hitm_or_store(struct hist_entry *he) he 1936 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 1978 tools/perf/builtin-c2c.c c2c_hists = container_of(c2c_he->he.hists, struct c2c_hists, hists); he 1979 tools/perf/builtin-c2c.c hists__calc_col_len(&c2c_hists->hists, &c2c_he->he); he 1983 tools/perf/builtin-c2c.c static int filter_cb(struct hist_entry *he, void *arg __maybe_unused) he 1987 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 1989 tools/perf/builtin-c2c.c if (c2c.show_src && !he->srcline) he 1990 tools/perf/builtin-c2c.c he->srcline = hist_entry__srcline(he); he 1994 tools/perf/builtin-c2c.c if (!valid_hitm_or_store(he)) he 1995 tools/perf/builtin-c2c.c he->filtered = HIST_FILTER__C2C; he 2000 tools/perf/builtin-c2c.c static int resort_cl_cb(struct hist_entry *he, void *arg __maybe_unused) he 2004 tools/perf/builtin-c2c.c bool display = he__display(he, &c2c.hitm_stats); he 2006 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 2091 tools/perf/builtin-c2c.c static int resort_hitm_cb(struct hist_entry *he, void *arg __maybe_unused) he 2094 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 2110 tools/perf/builtin-c2c.c struct hist_entry *he; he 2112 tools/perf/builtin-c2c.c he = rb_entry(next, struct hist_entry, rb_node); he 2113 tools/perf/builtin-c2c.c ret = cb(he, NULL); he 2116 tools/perf/builtin-c2c.c next = rb_next(&he->rb_node); he 2236 tools/perf/builtin-c2c.c struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); he 2239 tools/perf/builtin-c2c.c if (he->filtered) he 2242 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 2243 tools/perf/builtin-c2c.c print_cacheline(c2c_he->hists, he, &hpp_list, out); he 2304 tools/perf/builtin-c2c.c struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); he 2306 tools/perf/builtin-c2c.c if (!he->filtered) he 2317 tools/perf/builtin-c2c.c struct hist_entry *he; he 2325 tools/perf/builtin-c2c.c struct hist_entry *he; he 2329 tools/perf/builtin-c2c.c he = cl_browser->he; he 2331 tools/perf/builtin-c2c.c if (he->mem_info) he 2332 tools/perf/builtin-c2c.c addr = cl_address(he->mem_info->daddr.addr); he 2339 tools/perf/builtin-c2c.c c2c_cacheline_browser__new(struct hists *hists, struct hist_entry *he) he 2348 tools/perf/builtin-c2c.c browser->he = he; he 2354 tools/perf/builtin-c2c.c static int perf_c2c__browse_cacheline(struct hist_entry *he) he 2367 tools/perf/builtin-c2c.c if (!he) he 2373 tools/perf/builtin-c2c.c c2c_he = container_of(he, struct c2c_hist_entry, he); he 2376 tools/perf/builtin-c2c.c cl_browser = c2c_cacheline_browser__new(&c2c_hists->hists, he); he 262 tools/perf/builtin-diff.c static double period_percent(struct hist_entry *he, u64 period) he 264 tools/perf/builtin-diff.c u64 total = hists__total_period(he->hists); he 269 tools/perf/builtin-diff.c static double compute_delta(struct hist_entry *he, struct hist_entry *pair) he 271 tools/perf/builtin-diff.c double old_percent = period_percent(he, he->stat.period); he 279 tools/perf/builtin-diff.c static double compute_ratio(struct hist_entry *he, struct hist_entry *pair) he 281 tools/perf/builtin-diff.c double old_period = he->stat.period ?: 1; he 289 tools/perf/builtin-diff.c static s64 compute_wdiff(struct hist_entry *he, struct hist_entry *pair) he 291 tools/perf/builtin-diff.c u64 old_period = he->stat.period; he 301 tools/perf/builtin-diff.c static int formula_delta(struct hist_entry *he, struct hist_entry *pair, he 304 tools/perf/builtin-diff.c u64 he_total = he->hists->stats.total_period; he 308 tools/perf/builtin-diff.c he_total = he->hists->stats.total_non_filtered_period; he 315 tools/perf/builtin-diff.c he->stat.period, he_total); he 318 tools/perf/builtin-diff.c static int formula_ratio(struct hist_entry *he, struct hist_entry *pair, he 321 tools/perf/builtin-diff.c double old_period = he->stat.period; he 327 tools/perf/builtin-diff.c static int formula_wdiff(struct hist_entry *he, struct hist_entry *pair, he 330 tools/perf/builtin-diff.c u64 old_period = he->stat.period; he 338 tools/perf/builtin-diff.c static int formula_fprintf(struct hist_entry *he, struct hist_entry *pair, he 344 tools/perf/builtin-diff.c return formula_delta(he, pair, buf, size); he 346 tools/perf/builtin-diff.c return formula_ratio(he, pair, buf, size); he 348 tools/perf/builtin-diff.c return formula_wdiff(he, pair, buf, size); he 364 tools/perf/builtin-diff.c return &bh->he; he 367 tools/perf/builtin-diff.c static void block_hist_free(void *he) he 371 tools/perf/builtin-diff.c bh = container_of(he, struct block_hist, he); he 490 tools/perf/builtin-diff.c get_pair_data(struct hist_entry *he, struct data__file *d) he 492 tools/perf/builtin-diff.c if (hist_entry__has_pairs(he)) { he 495 tools/perf/builtin-diff.c list_for_each_entry(pair, &he->pairs.head, pairs.node) he 504 tools/perf/builtin-diff.c get_pair_fmt(struct hist_entry *he, struct diff_hpp_fmt *dfmt) he 508 tools/perf/builtin-diff.c return get_pair_data(he, d); he 523 tools/perf/builtin-diff.c struct hist_entry *he = rb_entry(next, struct hist_entry, rb_node_in); he 525 tools/perf/builtin-diff.c next = rb_next(&he->rb_node_in); he 526 tools/perf/builtin-diff.c if (!hist_entry__next_pair(he)) { he 527 tools/perf/builtin-diff.c rb_erase_cached(&he->rb_node_in, root); he 528 tools/perf/builtin-diff.c hist_entry__delete(he); he 615 tools/perf/builtin-diff.c static int process_block_per_sym(struct hist_entry *he) he 621 tools/perf/builtin-diff.c if (!he->ms.map || !he->ms.sym) he 624 tools/perf/builtin-diff.c notes = symbol__annotation(he->ms.sym); he 628 tools/perf/builtin-diff.c bh = container_of(he, struct block_hist, he); he 632 tools/perf/builtin-diff.c for (unsigned int i = 0; i < symbol__size(he->ms.sym); i++) { he 641 tools/perf/builtin-diff.c init_block_info(bi, he->ms.sym, &ch[i], i); he 671 tools/perf/builtin-diff.c static struct hist_entry *get_block_pair(struct hist_entry *he, he 684 tools/perf/builtin-diff.c cmp = block_pair_cmp(he_pair, he); he 692 tools/perf/builtin-diff.c static void compute_cycles_diff(struct hist_entry *he, he 696 tools/perf/builtin-diff.c if (pair->block_info->num && he->block_info->num) { he 699 tools/perf/builtin-diff.c he->block_info->cycles_aggr / he->block_info->num_aggr; he 710 tools/perf/builtin-diff.c struct hist_entry *he = rb_entry(next, struct hist_entry, he 712 tools/perf/builtin-diff.c struct hist_entry *pair = get_block_pair(he, hists_pair); he 714 tools/perf/builtin-diff.c next = rb_next(&he->rb_node_in); he 717 tools/perf/builtin-diff.c hist_entry__add_pair(pair, he); he 718 tools/perf/builtin-diff.c compute_cycles_diff(he, pair); he 723 tools/perf/builtin-diff.c static int filter_cb(struct hist_entry *he, void *arg __maybe_unused) he 726 tools/perf/builtin-diff.c he->filtered = true; he 743 tools/perf/builtin-diff.c struct hist_entry *he, *pair; he 747 tools/perf/builtin-diff.c he = rb_entry(next, struct hist_entry, rb_node_in); he 748 tools/perf/builtin-diff.c next = rb_next(&he->rb_node_in); he 751 tools/perf/builtin-diff.c process_block_per_sym(he); he 754 tools/perf/builtin-diff.c pair = get_pair_data(he, d); he 761 tools/perf/builtin-diff.c compute_delta(he, pair); he 764 tools/perf/builtin-diff.c compute_ratio(he, pair); he 767 tools/perf/builtin-diff.c compute_wdiff(he, pair); he 771 tools/perf/builtin-diff.c bh = container_of(he, struct block_hist, he); he 773 tools/perf/builtin-diff.c he); he 1293 tools/perf/builtin-diff.c static double baseline_percent(struct hist_entry *he) he 1295 tools/perf/builtin-diff.c u64 total = hists__total_period(he->hists); he 1297 tools/perf/builtin-diff.c return 100.0 * he->stat.period / total; he 1301 tools/perf/builtin-diff.c struct perf_hpp *hpp, struct hist_entry *he) he 1305 tools/perf/builtin-diff.c double percent = baseline_percent(he); he 1308 tools/perf/builtin-diff.c if (!he->dummy) { he 1317 tools/perf/builtin-diff.c static int hpp__entry_baseline(struct hist_entry *he, char *buf, size_t size) he 1319 tools/perf/builtin-diff.c double percent = baseline_percent(he); he 1323 tools/perf/builtin-diff.c if (!he->dummy) he 1329 tools/perf/builtin-diff.c static int cycles_printf(struct hist_entry *he, struct hist_entry *pair, he 1332 tools/perf/builtin-diff.c struct block_hist *bh = container_of(he, struct block_hist, he); he 1333 tools/perf/builtin-diff.c struct block_hist *bh_pair = container_of(pair, struct block_hist, he); he 1352 tools/perf/builtin-diff.c start_line = map__srcline(he->ms.map, bi->sym->start + bi->start, he 1353 tools/perf/builtin-diff.c he->ms.sym); he 1355 tools/perf/builtin-diff.c end_line = map__srcline(he->ms.map, bi->sym->start + bi->end, he 1356 tools/perf/builtin-diff.c he->ms.sym); he 1373 tools/perf/builtin-diff.c struct perf_hpp *hpp, struct hist_entry *he, he 1378 tools/perf/builtin-diff.c struct hist_entry *pair = get_pair_fmt(he, dfmt); he 1387 tools/perf/builtin-diff.c bh = container_of(he, struct block_hist, he); he 1400 tools/perf/builtin-diff.c diff = compute_delta(he, pair); he 1406 tools/perf/builtin-diff.c if (he->dummy) he 1411 tools/perf/builtin-diff.c diff = compute_ratio(he, pair); he 1417 tools/perf/builtin-diff.c if (he->dummy) he 1422 tools/perf/builtin-diff.c wdiff = compute_wdiff(he, pair); he 1429 tools/perf/builtin-diff.c return cycles_printf(he, pair, hpp, dfmt->header_width); he 1442 tools/perf/builtin-diff.c struct perf_hpp *hpp, struct hist_entry *he) he 1444 tools/perf/builtin-diff.c return __hpp__color_compare(fmt, hpp, he, COMPUTE_DELTA); he 1448 tools/perf/builtin-diff.c struct perf_hpp *hpp, struct hist_entry *he) he 1450 tools/perf/builtin-diff.c return __hpp__color_compare(fmt, hpp, he, COMPUTE_RATIO); he 1454 tools/perf/builtin-diff.c struct perf_hpp *hpp, struct hist_entry *he) he 1456 tools/perf/builtin-diff.c return __hpp__color_compare(fmt, hpp, he, COMPUTE_WEIGHTED_DIFF); he 1460 tools/perf/builtin-diff.c struct perf_hpp *hpp, struct hist_entry *he) he 1462 tools/perf/builtin-diff.c return __hpp__color_compare(fmt, hpp, he, COMPUTE_CYCLES); he 1466 tools/perf/builtin-diff.c hpp__entry_unpair(struct hist_entry *he, int idx, char *buf, size_t size) he 1470 tools/perf/builtin-diff.c scnprintf(buf, size, "%" PRIu64, he->stat.period); he 1479 tools/perf/builtin-diff.c hpp__entry_pair(struct hist_entry *he, struct hist_entry *pair, he 1492 tools/perf/builtin-diff.c diff = compute_delta(he, pair); he 1499 tools/perf/builtin-diff.c if (he->dummy) { he 1507 tools/perf/builtin-diff.c ratio = compute_ratio(he, pair); he 1515 tools/perf/builtin-diff.c if (he->dummy) { he 1523 tools/perf/builtin-diff.c wdiff = compute_wdiff(he, pair); he 1530 tools/perf/builtin-diff.c formula_fprintf(he, pair, buf, size); he 1543 tools/perf/builtin-diff.c __hpp__entry_global(struct hist_entry *he, struct diff_hpp_fmt *dfmt, he 1546 tools/perf/builtin-diff.c struct hist_entry *pair = get_pair_fmt(he, dfmt); he 1551 tools/perf/builtin-diff.c hpp__entry_baseline(he, buf, size); he 1554 tools/perf/builtin-diff.c hpp__entry_pair(he, pair, idx, buf, size); he 1556 tools/perf/builtin-diff.c hpp__entry_unpair(he, idx, buf, size); he 1561 tools/perf/builtin-diff.c struct hist_entry *he) he 1567 tools/perf/builtin-diff.c __hpp__entry_global(he, dfmt, buf, MAX_COL_WIDTH); he 141 tools/perf/builtin-report.c struct hist_entry *he = iter->he; he 151 tools/perf/builtin-report.c bi = he->branch_info; he 159 tools/perf/builtin-report.c mi = he->mem_info; he 164 tools/perf/builtin-report.c err = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); he 168 tools/perf/builtin-report.c err = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); he 170 tools/perf/builtin-report.c err = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); he 182 tools/perf/builtin-report.c struct hist_entry *he = iter->he; he 184 tools/perf/builtin-report.c struct branch_info *bi = he->branch_info; he 640 tools/perf/builtin-report.c static int hists__resort_cb(struct hist_entry *he, void *arg) he 643 tools/perf/builtin-report.c struct symbol *sym = he->ms.sym; he 646 tools/perf/builtin-report.c struct evsel *evsel = hists_to_evsel(he->hists); he 648 tools/perf/builtin-report.c symbol__annotate2(sym, he->ms.map, evsel, he 107 tools/perf/builtin-top.c static int perf_top__parse_source(struct perf_top *top, struct hist_entry *he) he 115 tools/perf/builtin-top.c if (!he || !he->ms.sym) he 118 tools/perf/builtin-top.c evsel = hists_to_evsel(he->hists); he 120 tools/perf/builtin-top.c sym = he->ms.sym; he 121 tools/perf/builtin-top.c map = he->ms.map; he 147 tools/perf/builtin-top.c top->sym_filter_entry = he; he 158 tools/perf/builtin-top.c static void __zero_source_counters(struct hist_entry *he) he 160 tools/perf/builtin-top.c struct symbol *sym = he->ms.sym; he 192 tools/perf/builtin-top.c struct hist_entry *he, he 197 tools/perf/builtin-top.c struct symbol *sym = he->ms.sym; he 210 tools/perf/builtin-top.c err = hist_entry__inc_addr_samples(he, sample, evsel, ip); he 219 tools/perf/builtin-top.c pthread_mutex_unlock(&he->hists->lock); he 221 tools/perf/builtin-top.c if (err == -ERANGE && !he->ms.map->erange_warned) he 222 tools/perf/builtin-top.c ui__warn_map_erange(he->ms.map, sym, ip); he 229 tools/perf/builtin-top.c pthread_mutex_lock(&he->hists->lock); he 235 tools/perf/builtin-top.c struct hist_entry *he = top->sym_filter_entry; he 241 tools/perf/builtin-top.c if (!he) he 244 tools/perf/builtin-top.c evsel = hists_to_evsel(he->hists); he 246 tools/perf/builtin-top.c symbol = he->ms.sym; he 259 tools/perf/builtin-top.c more = symbol__annotate_printf(symbol, he->ms.map, top->sym_evsel, &top->annotation_opts); he 720 tools/perf/builtin-top.c struct hist_entry *he = iter->he; he 724 tools/perf/builtin-top.c perf_top__record_precise_ip(top, he, iter->sample, evsel, al->addr); he 177 tools/perf/tests/hists_common.c struct hist_entry *he; he 179 tools/perf/tests/hists_common.c he = rb_entry(node, struct hist_entry, rb_node_in); he 181 tools/perf/tests/hists_common.c if (!he->filtered) { he 183 tools/perf/tests/hists_common.c i, thread__comm_str(he->thread), he 184 tools/perf/tests/hists_common.c he->ms.map->dso->short_name, he 185 tools/perf/tests/hists_common.c he->ms.sym->name, he->stat.period); he 204 tools/perf/tests/hists_common.c struct hist_entry *he; he 206 tools/perf/tests/hists_common.c he = rb_entry(node, struct hist_entry, rb_node); he 208 tools/perf/tests/hists_common.c if (!he->filtered) { he 210 tools/perf/tests/hists_common.c i, thread__comm_str(he->thread), he->thread->tid, he 211 tools/perf/tests/hists_common.c he->ms.map->dso->short_name, he 212 tools/perf/tests/hists_common.c he->ms.sym->name, he->stat.period, he 213 tools/perf/tests/hists_common.c he->stat_acc ? he->stat_acc->period : 0); he 128 tools/perf/tests/hists_cumulate.c struct hist_entry *he; he 143 tools/perf/tests/hists_cumulate.c he = rb_entry(node, struct hist_entry, rb_node); he 145 tools/perf/tests/hists_cumulate.c rb_erase_cached(&he->rb_node_in, root_in); he 146 tools/perf/tests/hists_cumulate.c hist_entry__delete(he); he 152 tools/perf/tests/hists_cumulate.c #define COMM(he) (thread__comm_str(he->thread)) he 153 tools/perf/tests/hists_cumulate.c #define DSO(he) (he->ms.map->dso->short_name) he 154 tools/perf/tests/hists_cumulate.c #define SYM(he) (he->ms.sym->name) he 155 tools/perf/tests/hists_cumulate.c #define CPU(he) (he->cpu) he 156 tools/perf/tests/hists_cumulate.c #define PID(he) (he->thread->tid) he 157 tools/perf/tests/hists_cumulate.c #define DEPTH(he) (he->callchain->max_depth) he 182 tools/perf/tests/hists_cumulate.c struct hist_entry *he; he 204 tools/perf/tests/hists_cumulate.c node && (he = rb_entry(node, struct hist_entry, rb_node)); he 210 tools/perf/tests/hists_cumulate.c TEST_ASSERT_VAL(buf, he->stat.period == expected[i].self && he 211 tools/perf/tests/hists_cumulate.c !strcmp(COMM(he), expected[i].comm) && he 212 tools/perf/tests/hists_cumulate.c !strcmp(DSO(he), expected[i].dso) && he 213 tools/perf/tests/hists_cumulate.c !strcmp(SYM(he), expected[i].sym)); he 216 tools/perf/tests/hists_cumulate.c TEST_ASSERT_VAL(buf, he->stat_acc->period == expected[i].children); he 222 tools/perf/tests/hists_cumulate.c root = &he->callchain->node.rb_root; he 68 tools/perf/tests/hists_link.c struct hist_entry *he; he 89 tools/perf/tests/hists_link.c he = hists__add_entry(hists, &al, NULL, he 91 tools/perf/tests/hists_link.c if (he == NULL) { he 108 tools/perf/tests/hists_link.c he = hists__add_entry(hists, &al, NULL, he 110 tools/perf/tests/hists_link.c if (he == NULL) { he 157 tools/perf/tests/hists_link.c struct hist_entry *he; he 159 tools/perf/tests/hists_link.c he = rb_entry(node, struct hist_entry, rb_node_in); he 161 tools/perf/tests/hists_link.c if (hist_entry__has_pairs(he)) { he 164 tools/perf/tests/hists_link.c he->thread, he->ms.map, he->ms.sym)) { he 209 tools/perf/tests/hists_link.c struct hist_entry *he; he 211 tools/perf/tests/hists_link.c he = rb_entry(node, struct hist_entry, rb_node_in); he 213 tools/perf/tests/hists_link.c if (hist_entry__has_pairs(he)) { he 216 tools/perf/tests/hists_link.c he->thread, he->ms.map, he->ms.sym) && he 219 tools/perf/tests/hists_link.c he->thread, he->ms.map, he->ms.sym)) { he 94 tools/perf/tests/hists_output.c struct hist_entry *he; he 109 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 111 tools/perf/tests/hists_output.c rb_erase_cached(&he->rb_node_in, root_in); he 112 tools/perf/tests/hists_output.c hist_entry__delete(he); he 118 tools/perf/tests/hists_output.c #define COMM(he) (thread__comm_str(he->thread)) he 119 tools/perf/tests/hists_output.c #define DSO(he) (he->ms.map->dso->short_name) he 120 tools/perf/tests/hists_output.c #define SYM(he) (he->ms.sym->name) he 121 tools/perf/tests/hists_output.c #define CPU(he) (he->cpu) he 122 tools/perf/tests/hists_output.c #define PID(he) (he->thread->tid) he 129 tools/perf/tests/hists_output.c struct hist_entry *he; he 167 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 169 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "perf") && he 170 tools/perf/tests/hists_output.c !strcmp(SYM(he), "main") && he->stat.period == 200); he 173 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 175 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "[kernel]") && he 176 tools/perf/tests/hists_output.c !strcmp(SYM(he), "page_fault") && he->stat.period == 100); he 179 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 181 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "bash") && he 182 tools/perf/tests/hists_output.c !strcmp(SYM(he), "main") && he->stat.period == 100); he 185 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 187 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "bash") && he 188 tools/perf/tests/hists_output.c !strcmp(SYM(he), "xmalloc") && he->stat.period == 100); he 191 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 193 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "[kernel]") && he 194 tools/perf/tests/hists_output.c !strcmp(SYM(he), "page_fault") && he->stat.period == 100); he 197 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 199 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "[kernel]") && he 200 tools/perf/tests/hists_output.c !strcmp(SYM(he), "schedule") && he->stat.period == 100); he 203 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 205 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "libc") && he 206 tools/perf/tests/hists_output.c !strcmp(SYM(he), "free") && he->stat.period == 100); he 209 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 211 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "libc") && he 212 tools/perf/tests/hists_output.c !strcmp(SYM(he), "malloc") && he->stat.period == 100); he 215 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 217 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "perf") && he 218 tools/perf/tests/hists_output.c !strcmp(SYM(he), "cmd_record") && he->stat.period == 100); he 231 tools/perf/tests/hists_output.c struct hist_entry *he; he 267 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 269 tools/perf/tests/hists_output.c CPU(he) == 1 && PID(he) == 100 && he->stat.period == 300); he 272 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 274 tools/perf/tests/hists_output.c CPU(he) == 0 && PID(he) == 100 && he->stat.period == 100); he 287 tools/perf/tests/hists_output.c struct hist_entry *he; he 321 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 323 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "bash") && he 324 tools/perf/tests/hists_output.c he->stat.period == 200); he 327 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 329 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "[kernel]") && he 330 tools/perf/tests/hists_output.c he->stat.period == 100); he 333 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 335 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "perf") && he 336 tools/perf/tests/hists_output.c he->stat.period == 300); he 339 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 341 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "[kernel]") && he 342 tools/perf/tests/hists_output.c he->stat.period == 200); he 345 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 347 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "libc") && he 348 tools/perf/tests/hists_output.c he->stat.period == 200); he 361 tools/perf/tests/hists_output.c struct hist_entry *he; he 399 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 401 tools/perf/tests/hists_output.c !strcmp(DSO(he), "perf") && !strcmp(SYM(he), "cmd_record") && he 402 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && he->stat.period == 100); he 405 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 407 tools/perf/tests/hists_output.c !strcmp(DSO(he), "libc") && !strcmp(SYM(he), "free") && he 408 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && he->stat.period == 100); he 411 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 413 tools/perf/tests/hists_output.c !strcmp(DSO(he), "bash") && !strcmp(SYM(he), "main") && he 414 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && he->stat.period == 100); he 417 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 419 tools/perf/tests/hists_output.c !strcmp(DSO(he), "perf") && !strcmp(SYM(he), "main") && he 420 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && he->stat.period == 200); he 423 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 425 tools/perf/tests/hists_output.c !strcmp(DSO(he), "libc") && !strcmp(SYM(he), "malloc") && he 426 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && he->stat.period == 100); he 429 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 431 tools/perf/tests/hists_output.c !strcmp(DSO(he), "[kernel]") && !strcmp(SYM(he), "page_fault") && he 432 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && he->stat.period == 100); he 435 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 437 tools/perf/tests/hists_output.c !strcmp(DSO(he), "[kernel]") && !strcmp(SYM(he), "page_fault") && he 438 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && he->stat.period == 100); he 441 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 443 tools/perf/tests/hists_output.c !strcmp(DSO(he), "[kernel]") && !strcmp(SYM(he), "schedule") && he 444 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && he->stat.period == 100); he 447 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 449 tools/perf/tests/hists_output.c !strcmp(DSO(he), "bash") && !strcmp(SYM(he), "xmalloc") && he 450 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && he->stat.period == 100); he 463 tools/perf/tests/hists_output.c struct hist_entry *he; he 502 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 505 tools/perf/tests/hists_output.c CPU(he) == 0 && PID(he) == 100 && he 506 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "[kernel]") && he 507 tools/perf/tests/hists_output.c !strcmp(SYM(he), "schedule") && he->stat.period == 100); he 510 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 512 tools/perf/tests/hists_output.c CPU(he) == 2 && PID(he) == 200 && he 513 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "[kernel]") && he 514 tools/perf/tests/hists_output.c !strcmp(SYM(he), "page_fault") && he->stat.period == 100); he 517 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 519 tools/perf/tests/hists_output.c CPU(he) == 1 && PID(he) == 300 && he 520 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "[kernel]") && he 521 tools/perf/tests/hists_output.c !strcmp(SYM(he), "page_fault") && he->stat.period == 100); he 524 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 526 tools/perf/tests/hists_output.c CPU(he) == 0 && PID(he) == 300 && he 527 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "bash") && he 528 tools/perf/tests/hists_output.c !strcmp(SYM(he), "xmalloc") && he->stat.period == 100); he 531 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 533 tools/perf/tests/hists_output.c CPU(he) == 3 && PID(he) == 300 && he 534 tools/perf/tests/hists_output.c !strcmp(COMM(he), "bash") && !strcmp(DSO(he), "bash") && he 535 tools/perf/tests/hists_output.c !strcmp(SYM(he), "main") && he->stat.period == 100); he 538 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 540 tools/perf/tests/hists_output.c CPU(he) == 1 && PID(he) == 100 && he 541 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "libc") && he 542 tools/perf/tests/hists_output.c !strcmp(SYM(he), "malloc") && he->stat.period == 100); he 545 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 547 tools/perf/tests/hists_output.c CPU(he) == 2 && PID(he) == 100 && he 548 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "libc") && he 549 tools/perf/tests/hists_output.c !strcmp(SYM(he), "free") && he->stat.period == 100); he 552 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 554 tools/perf/tests/hists_output.c CPU(he) == 1 && PID(he) == 100 && he 555 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "perf") && he 556 tools/perf/tests/hists_output.c !strcmp(SYM(he), "cmd_record") && he->stat.period == 100); he 559 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 561 tools/perf/tests/hists_output.c CPU(he) == 1 && PID(he) == 100 && he 562 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "perf") && he 563 tools/perf/tests/hists_output.c !strcmp(SYM(he), "main") && he->stat.period == 100); he 566 tools/perf/tests/hists_output.c he = rb_entry(node, struct hist_entry, rb_node); he 568 tools/perf/tests/hists_output.c CPU(he) == 2 && PID(he) == 200 && he 569 tools/perf/tests/hists_output.c !strcmp(COMM(he), "perf") && !strcmp(DSO(he), "perf") && he 570 tools/perf/tests/hists_output.c !strcmp(SYM(he), "main") && he->stat.period == 100); he 24 tools/perf/ui/browsers/annotate.c struct sym_hist_entry he; he 880 tools/perf/ui/browsers/annotate.c int hist_entry__tui_annotate(struct hist_entry *he, struct evsel *evsel, he 888 tools/perf/ui/browsers/annotate.c return map_symbol__tui_annotate(&he->ms, evsel, hbt, opts); he 67 tools/perf/ui/browsers/hists.c struct hist_entry *he = he 70 tools/perf/ui/browsers/hists.c if (he->leaf && he->unfolded) he 71 tools/perf/ui/browsers/hists.c unfolded_rows += he->nr_rows; he 158 tools/perf/ui/browsers/hists.c static char hist_entry__folded(const struct hist_entry *he) he 160 tools/perf/ui/browsers/hists.c return he->has_children ? tree__folded_sign(he->unfolded) : ' '; he 269 tools/perf/ui/browsers/hists.c static int hierarchy_count_rows(struct hist_browser *hb, struct hist_entry *he, he 276 tools/perf/ui/browsers/hists.c if (he->leaf) he 277 tools/perf/ui/browsers/hists.c return callchain__count_rows(&he->sorted_chain); he 279 tools/perf/ui/browsers/hists.c if (he->has_no_entry) he 282 tools/perf/ui/browsers/hists.c node = rb_first_cached(&he->hroot_out); he 301 tools/perf/ui/browsers/hists.c static bool hist_entry__toggle_fold(struct hist_entry *he) he 303 tools/perf/ui/browsers/hists.c if (!he) he 306 tools/perf/ui/browsers/hists.c if (!he->has_children) he 309 tools/perf/ui/browsers/hists.c he->unfolded = !he->unfolded; he 378 tools/perf/ui/browsers/hists.c static void hist_entry__init_have_children(struct hist_entry *he) he 380 tools/perf/ui/browsers/hists.c if (he->init_have_children) he 383 tools/perf/ui/browsers/hists.c if (he->leaf) { he 384 tools/perf/ui/browsers/hists.c he->has_children = !RB_EMPTY_ROOT(&he->sorted_chain); he 385 tools/perf/ui/browsers/hists.c callchain__init_have_children(&he->sorted_chain); he 387 tools/perf/ui/browsers/hists.c he->has_children = !RB_EMPTY_ROOT(&he->hroot_out.rb_root); he 390 tools/perf/ui/browsers/hists.c he->init_have_children = true; he 395 tools/perf/ui/browsers/hists.c struct hist_entry *he = browser->he_selection; he 400 tools/perf/ui/browsers/hists.c if (!he || !ms) he 403 tools/perf/ui/browsers/hists.c if (ms == &he->ms) he 404 tools/perf/ui/browsers/hists.c has_children = hist_entry__toggle_fold(he); he 411 tools/perf/ui/browsers/hists.c hist_entry__init_have_children(he); he 412 tools/perf/ui/browsers/hists.c browser->b.nr_entries -= he->nr_rows; he 414 tools/perf/ui/browsers/hists.c if (he->leaf) he 415 tools/perf/ui/browsers/hists.c browser->nr_callchain_rows -= he->nr_rows; he 417 tools/perf/ui/browsers/hists.c browser->nr_hierarchy_entries -= he->nr_rows; he 420 tools/perf/ui/browsers/hists.c child_rows = hierarchy_count_rows(browser, he, true); he 422 tools/perf/ui/browsers/hists.c if (he->unfolded) { he 423 tools/perf/ui/browsers/hists.c if (he->leaf) he 424 tools/perf/ui/browsers/hists.c he->nr_rows = callchain__count_rows( he 425 tools/perf/ui/browsers/hists.c &he->sorted_chain); he 427 tools/perf/ui/browsers/hists.c he->nr_rows = hierarchy_count_rows(browser, he, false); he 431 tools/perf/ui/browsers/hists.c browser->b.nr_entries += child_rows - he->nr_rows; he 433 tools/perf/ui/browsers/hists.c if (!he->leaf && he->nr_rows == 0) { he 434 tools/perf/ui/browsers/hists.c he->has_no_entry = true; he 435 tools/perf/ui/browsers/hists.c he->nr_rows = 1; he 439 tools/perf/ui/browsers/hists.c browser->b.nr_entries -= child_rows - he->nr_rows; he 441 tools/perf/ui/browsers/hists.c if (he->has_no_entry) he 442 tools/perf/ui/browsers/hists.c he->has_no_entry = false; he 444 tools/perf/ui/browsers/hists.c he->nr_rows = 0; he 447 tools/perf/ui/browsers/hists.c browser->b.nr_entries += he->nr_rows; he 449 tools/perf/ui/browsers/hists.c if (he->leaf) he 450 tools/perf/ui/browsers/hists.c browser->nr_callchain_rows += he->nr_rows; he 452 tools/perf/ui/browsers/hists.c browser->nr_hierarchy_entries += he->nr_rows; he 515 tools/perf/ui/browsers/hists.c static int hierarchy_set_folding(struct hist_browser *hb, struct hist_entry *he, he 523 tools/perf/ui/browsers/hists.c for (nd = rb_first_cached(&he->hroot_out); nd; nd = rb_next(nd)) { he 533 tools/perf/ui/browsers/hists.c static void __hist_entry__set_folding(struct hist_entry *he, he 536 tools/perf/ui/browsers/hists.c hist_entry__init_have_children(he); he 537 tools/perf/ui/browsers/hists.c he->unfolded = unfold ? he->has_children : false; he 539 tools/perf/ui/browsers/hists.c if (he->has_children) { he 542 tools/perf/ui/browsers/hists.c if (he->leaf) he 543 tools/perf/ui/browsers/hists.c n = callchain__set_folding(&he->sorted_chain, unfold); he 545 tools/perf/ui/browsers/hists.c n = hierarchy_set_folding(hb, he, unfold); he 547 tools/perf/ui/browsers/hists.c he->nr_rows = unfold ? n : 0; he 549 tools/perf/ui/browsers/hists.c he->nr_rows = 0; he 552 tools/perf/ui/browsers/hists.c static void hist_entry__set_folding(struct hist_entry *he, he 557 tools/perf/ui/browsers/hists.c percent = hist_entry__get_percent_limit(he); he 558 tools/perf/ui/browsers/hists.c if (he->filtered || percent < browser->min_pcnt) he 561 tools/perf/ui/browsers/hists.c __hist_entry__set_folding(he, browser, unfold); he 563 tools/perf/ui/browsers/hists.c if (!he->depth || unfold) he 565 tools/perf/ui/browsers/hists.c if (he->leaf) he 566 tools/perf/ui/browsers/hists.c browser->nr_callchain_rows += he->nr_rows; he 567 tools/perf/ui/browsers/hists.c else if (unfold && !hist_entry__has_hierarchy_children(he, browser->min_pcnt)) { he 569 tools/perf/ui/browsers/hists.c he->has_no_entry = true; he 570 tools/perf/ui/browsers/hists.c he->nr_rows = 1; he 572 tools/perf/ui/browsers/hists.c he->has_no_entry = false; he 579 tools/perf/ui/browsers/hists.c struct hist_entry *he; he 583 tools/perf/ui/browsers/hists.c he = rb_entry(nd, struct hist_entry, rb_node); he 588 tools/perf/ui/browsers/hists.c hist_entry__set_folding(he, browser, unfold); he 1178 tools/perf/ui/browsers/hists.c static u64 __hpp_get_##_field(struct hist_entry *he) \ he 1180 tools/perf/ui/browsers/hists.c return he->stat._field; \ he 1186 tools/perf/ui/browsers/hists.c struct hist_entry *he) \ he 1188 tools/perf/ui/browsers/hists.c return hpp__fmt(fmt, hpp, he, __hpp_get_##_field, " %*.2f%%", \ he 1193 tools/perf/ui/browsers/hists.c static u64 __hpp_get_acc_##_field(struct hist_entry *he) \ he 1195 tools/perf/ui/browsers/hists.c return he->stat_acc->_field; \ he 1201 tools/perf/ui/browsers/hists.c struct hist_entry *he) \ he 1212 tools/perf/ui/browsers/hists.c return hpp__fmt(fmt, hpp, he, __hpp_get_acc_##_field, \ he 1982 tools/perf/ui/browsers/hists.c struct hist_entry *he, FILE *fp, he 1989 tools/perf/ui/browsers/hists.c hist_browser__show_callchain(browser, he, level, 0, he 1996 tools/perf/ui/browsers/hists.c struct hist_entry *he, FILE *fp) he 2009 tools/perf/ui/browsers/hists.c if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) { he 2010 tools/perf/ui/browsers/hists.c folded_sign = hist_entry__folded(he); he 2015 tools/perf/ui/browsers/hists.c if (perf_hpp__should_skip(fmt, he->hists)) he 2024 tools/perf/ui/browsers/hists.c ret = fmt->entry(fmt, &hpp, he); he 2025 tools/perf/ui/browsers/hists.c ret = hist_entry__snprintf_alignment(he, &hpp, fmt, ret); he 2031 tools/perf/ui/browsers/hists.c printed += hist_browser__fprintf_callchain(browser, he, fp, 1); he 2038 tools/perf/ui/browsers/hists.c struct hist_entry *he, he 2052 tools/perf/ui/browsers/hists.c int hierarchy_indent = (he->hists->nr_hpp_node - 2) * HIERARCHY_INDENT; he 2056 tools/perf/ui/browsers/hists.c folded_sign = hist_entry__folded(he); he 2060 tools/perf/ui/browsers/hists.c fmt_node = list_first_entry(&he->hists->hpp_formats, he 2069 tools/perf/ui/browsers/hists.c ret = fmt->entry(fmt, &hpp, he); he 2076 tools/perf/ui/browsers/hists.c perf_hpp_list__for_each_format(he->hpp_list, fmt) { he 2080 tools/perf/ui/browsers/hists.c ret = fmt->entry(fmt, &hpp, he); he 2087 tools/perf/ui/browsers/hists.c if (he->leaf && folded_sign == '-') { he 2088 tools/perf/ui/browsers/hists.c printed += hist_browser__fprintf_callchain(browser, he, fp, he 2089 tools/perf/ui/browsers/hists.c he->depth + 1); he 2372 tools/perf/ui/browsers/hists.c struct hist_entry *he; he 2386 tools/perf/ui/browsers/hists.c he = hist_browser__selected_entry(browser); he 2391 tools/perf/ui/browsers/hists.c if ((err == 'q' || err == CTRL('c')) && he->branch_info) he 2594 tools/perf/ui/browsers/hists.c struct hist_entry *he; he 2596 tools/perf/ui/browsers/hists.c he = hist_browser__selected_entry(browser); he 2597 tools/perf/ui/browsers/hists.c res_sample_browse(he->res_samples, he->num_res, act->evsel, act->rstype); he 2635 tools/perf/ui/browsers/hists.c struct hist_entry *he; he 2639 tools/perf/ui/browsers/hists.c he = hist_browser__selected_entry(browser); he 2646 tools/perf/ui/browsers/hists.c j += timestamp__scnprintf_usec(he->time, tstr + j, he 2649 tools/perf/ui/browsers/hists.c timestamp__scnprintf_usec(he->time + symbol_conf.time_quantum, he 2653 tools/perf/ui/browsers/hists.c act->time = he->time; he 2784 tools/perf/ui/browsers/hists.c struct hist_entry *he; he 2792 tools/perf/ui/browsers/hists.c he = rb_entry(nd, struct hist_entry, rb_node); he 2794 tools/perf/ui/browsers/hists.c if (he->has_no_entry) { he 2795 tools/perf/ui/browsers/hists.c he->has_no_entry = false; he 2796 tools/perf/ui/browsers/hists.c he->nr_rows = 0; he 2799 tools/perf/ui/browsers/hists.c if (!he->leaf || !hist_entry__has_callchains(he) || !symbol_conf.use_callchain) he 2803 tools/perf/ui/browsers/hists.c total = he->stat.period; he 2806 tools/perf/ui/browsers/hists.c total = he->stat_acc->period; he 2811 tools/perf/ui/browsers/hists.c callchain_param.sort(&he->sorted_chain, he->callchain, he 2818 tools/perf/ui/browsers/hists.c he->init_have_children = false; he 2819 tools/perf/ui/browsers/hists.c hist_entry__set_folding(he, hb, false); he 241 tools/perf/ui/gtk/annotate.c int hist_entry__gtk_annotate(struct hist_entry *he, he 245 tools/perf/ui/gtk/annotate.c return symbol__gtk_annotate(he->ms.sym, he->ms.map, evsel, hbt); he 63 tools/perf/ui/gtk/gtk.h int hist_entry__gtk_annotate(struct hist_entry *he, he 44 tools/perf/ui/gtk/hists.c static u64 he_get_##_field(struct hist_entry *he) \ he 46 tools/perf/ui/gtk/hists.c return he->stat._field; \ he 51 tools/perf/ui/gtk/hists.c struct hist_entry *he) \ he 53 tools/perf/ui/gtk/hists.c return hpp__fmt(fmt, hpp, he, he_get_##_field, " %*.2f%%", \ he 58 tools/perf/ui/gtk/hists.c static u64 he_get_acc_##_field(struct hist_entry *he) \ he 60 tools/perf/ui/gtk/hists.c return he->stat_acc->_field; \ he 65 tools/perf/ui/gtk/hists.c struct hist_entry *he) \ he 67 tools/perf/ui/gtk/hists.c return hpp__fmt_acc(fmt, hpp, he, he_get_acc_##_field, " %*.2f%%", \ he 414 tools/perf/ui/gtk/hists.c struct hist_entry *he; he 425 tools/perf/ui/gtk/hists.c he = rb_entry(node, struct hist_entry, rb_node); he 426 tools/perf/ui/gtk/hists.c if (he->filtered) he 429 tools/perf/ui/gtk/hists.c percent = hist_entry__get_percent_limit(he); he 442 tools/perf/ui/gtk/hists.c fmt->color(fmt, hpp, he); he 444 tools/perf/ui/gtk/hists.c fmt->entry(fmt, hpp, he); he 451 tools/perf/ui/gtk/hists.c perf_hpp_list__for_each_format(he->hpp_list, fmt) { he 455 tools/perf/ui/gtk/hists.c ret = fmt->color(fmt, hpp, he); he 457 tools/perf/ui/gtk/hists.c ret = fmt->entry(fmt, hpp, he); he 465 tools/perf/ui/gtk/hists.c if (!he->leaf) { he 469 tools/perf/ui/gtk/hists.c perf_gtk__add_hierarchy_entries(hists, &he->hroot_out, he 473 tools/perf/ui/gtk/hists.c if (!hist_entry__has_hierarchy_children(he, min_pcnt)) { he 485 tools/perf/ui/gtk/hists.c if (he->leaf && hist_entry__has_callchains(he) && symbol_conf.use_callchain) { he 488 tools/perf/ui/gtk/hists.c he->stat_acc->period : he->stat.period; he 490 tools/perf/ui/gtk/hists.c perf_gtk__add_callchain(&he->sorted_chain, store, &iter, he 25 tools/perf/ui/hist.c static int __hpp__fmt(struct perf_hpp *hpp, struct hist_entry *he, he 30 tools/perf/ui/hist.c struct hists *hists = he->hists; he 40 tools/perf/ui/hist.c percent = 100.0 * get_field(he) / total; he 44 tools/perf/ui/hist.c ret = hpp__call_print_fn(hpp, print_fn, fmt, len, get_field(he)); he 53 tools/perf/ui/hist.c list_for_each_entry(pair, &he->pairs.head, pairs.node) { he 115 tools/perf/ui/hist.c struct hist_entry *he, hpp_field_fn get_field, he 121 tools/perf/ui/hist.c return __hpp__fmt(hpp, he, get_field, fmtstr, 1, he 130 tools/perf/ui/hist.c return __hpp__fmt(hpp, he, get_field, fmtstr, len, print_fn, fmt_percent); he 134 tools/perf/ui/hist.c struct hist_entry *he, hpp_field_fn get_field, he 142 tools/perf/ui/hist.c return hpp__fmt(fmt, hpp, he, get_field, fmtstr, print_fn, fmt_percent); he 278 tools/perf/ui/hist.c static u64 he_get_##_field(struct hist_entry *he) \ he 280 tools/perf/ui/hist.c return he->stat._field; \ he 284 tools/perf/ui/hist.c struct perf_hpp *hpp, struct hist_entry *he) \ he 286 tools/perf/ui/hist.c return hpp__fmt(fmt, hpp, he, he_get_##_field, " %*.2f%%", \ he 292 tools/perf/ui/hist.c struct perf_hpp *hpp, struct hist_entry *he) \ he 294 tools/perf/ui/hist.c return hpp__fmt(fmt, hpp, he, he_get_##_field, " %*.2f%%", \ he 306 tools/perf/ui/hist.c static u64 he_get_acc_##_field(struct hist_entry *he) \ he 308 tools/perf/ui/hist.c return he->stat_acc->_field; \ he 312 tools/perf/ui/hist.c struct perf_hpp *hpp, struct hist_entry *he) \ he 314 tools/perf/ui/hist.c return hpp__fmt_acc(fmt, hpp, he, he_get_acc_##_field, " %*.2f%%", \ he 320 tools/perf/ui/hist.c struct perf_hpp *hpp, struct hist_entry *he) \ he 322 tools/perf/ui/hist.c return hpp__fmt_acc(fmt, hpp, he, he_get_acc_##_field, " %*.2f%%", \ he 334 tools/perf/ui/hist.c static u64 he_get_raw_##_field(struct hist_entry *he) \ he 336 tools/perf/ui/hist.c return he->stat._field; \ he 340 tools/perf/ui/hist.c struct perf_hpp *hpp, struct hist_entry *he) \ he 342 tools/perf/ui/hist.c return hpp__fmt(fmt, hpp, he, he_get_raw_##_field, " %*"PRIu64, \ he 380 tools/perf/ui/stdio/hist.c static size_t hist_entry_callchain__fprintf(struct hist_entry *he, he 384 tools/perf/ui/stdio/hist.c u64 parent_samples = he->stat.period; he 387 tools/perf/ui/stdio/hist.c parent_samples = he->stat_acc->period; he 391 tools/perf/ui/stdio/hist.c return callchain__fprintf_graph(fp, &he->sorted_chain, total_samples, he 395 tools/perf/ui/stdio/hist.c return callchain__fprintf_graph(fp, &he->sorted_chain, total_samples, he 399 tools/perf/ui/stdio/hist.c return callchain__fprintf_flat(fp, &he->sorted_chain, total_samples); he 402 tools/perf/ui/stdio/hist.c return callchain__fprintf_folded(fp, &he->sorted_chain, total_samples); he 413 tools/perf/ui/stdio/hist.c int __hist_entry__snprintf(struct hist_entry *he, struct perf_hpp *hpp, he 422 tools/perf/ui/stdio/hist.c if (symbol_conf.exclude_other && !he->parent) he 426 tools/perf/ui/stdio/hist.c if (perf_hpp__should_skip(fmt, he->hists)) he 440 tools/perf/ui/stdio/hist.c ret = fmt->color(fmt, hpp, he); he 442 tools/perf/ui/stdio/hist.c ret = fmt->entry(fmt, hpp, he); he 444 tools/perf/ui/stdio/hist.c ret = hist_entry__snprintf_alignment(he, hpp, fmt, ret); he 451 tools/perf/ui/stdio/hist.c static int hist_entry__snprintf(struct hist_entry *he, struct perf_hpp *hpp) he 453 tools/perf/ui/stdio/hist.c return __hist_entry__snprintf(he, hpp, he->hists->hpp_list); he 456 tools/perf/ui/stdio/hist.c static int hist_entry__hierarchy_fprintf(struct hist_entry *he, he 469 tools/perf/ui/stdio/hist.c if (symbol_conf.exclude_other && !he->parent) he 472 tools/perf/ui/stdio/hist.c ret = scnprintf(hpp->buf, hpp->size, "%*s", he->depth * HIERARCHY_INDENT, ""); he 490 tools/perf/ui/stdio/hist.c ret = fmt->color(fmt, hpp, he); he 492 tools/perf/ui/stdio/hist.c ret = fmt->entry(fmt, hpp, he); he 494 tools/perf/ui/stdio/hist.c ret = hist_entry__snprintf_alignment(he, hpp, fmt, ret); he 505 tools/perf/ui/stdio/hist.c perf_hpp_list__for_each_format(he->hpp_list, fmt) { he 514 tools/perf/ui/stdio/hist.c fmt->color(fmt, hpp, he); he 516 tools/perf/ui/stdio/hist.c fmt->entry(fmt, hpp, he); he 526 tools/perf/ui/stdio/hist.c if (he->leaf && hist_entry__has_callchains(he) && symbol_conf.use_callchain) { he 529 tools/perf/ui/stdio/hist.c printed += hist_entry_callchain__fprintf(he, total, 0, fp); he 537 tools/perf/ui/stdio/hist.c static int hist_entry__block_fprintf(struct hist_entry *he, he 541 tools/perf/ui/stdio/hist.c struct block_hist *bh = container_of(he, struct block_hist, he); he 552 tools/perf/ui/stdio/hist.c hist_entry__snprintf(he, &hpp); he 561 tools/perf/ui/stdio/hist.c static int hist_entry__fprintf(struct hist_entry *he, size_t size, he 571 tools/perf/ui/stdio/hist.c struct hists *hists = he->hists; he 578 tools/perf/ui/stdio/hist.c return hist_entry__hierarchy_fprintf(he, &hpp, hists, fp); he 581 tools/perf/ui/stdio/hist.c return hist_entry__block_fprintf(he, bf, size, fp); he 583 tools/perf/ui/stdio/hist.c hist_entry__snprintf(he, &hpp); he 587 tools/perf/ui/stdio/hist.c if (hist_entry__has_callchains(he) && !ignore_callchains) he 588 tools/perf/ui/stdio/hist.c callchain_ret = hist_entry_callchain__fprintf(he, total_period, he 1094 tools/perf/util/annotate.c int hist_entry__inc_addr_samples(struct hist_entry *he, struct perf_sample *sample, he 1097 tools/perf/util/annotate.c return symbol__inc_addr_samples(he->ms.sym, he->ms.map, evsel, ip, sample); he 1436 tools/perf/util/annotate.c data->he.period); he 1439 tools/perf/util/annotate.c data->he.nr_samples); he 2021 tools/perf/util/annotate.c data->he.period = period; he 2022 tools/perf/util/annotate.c data->he.nr_samples = hits; he 2843 tools/perf/util/annotate.c obj__printf(obj, "%11" PRIu64 " ", al->data[i].he.period); he 2846 tools/perf/util/annotate.c al->data[i].he.nr_samples); he 127 tools/perf/util/annotate.h struct sym_hist_entry he; he 344 tools/perf/util/annotate.h int hist_entry__inc_addr_samples(struct hist_entry *he, struct perf_sample *sample, he 1099 tools/perf/util/callchain.c int hist_entry__append_callchain(struct hist_entry *he, struct perf_sample *sample) he 1104 tools/perf/util/callchain.c return callchain_append(he->callchain, &callchain_cursor, sample->period); he 245 tools/perf/util/callchain.h int hist_entry__append_callchain(struct hist_entry *he, struct perf_sample *sample); he 32 tools/perf/util/hist.c struct hist_entry *he); he 34 tools/perf/util/hist.c struct hist_entry *he); he 36 tools/perf/util/hist.c struct hist_entry *he); he 38 tools/perf/util/hist.c struct hist_entry *he); he 296 tools/perf/util/hist.c static void hists__delete_entry(struct hists *hists, struct hist_entry *he); he 298 tools/perf/util/hist.c static bool hists__decay_entry(struct hists *hists, struct hist_entry *he) he 300 tools/perf/util/hist.c u64 prev_period = he->stat.period; he 306 tools/perf/util/hist.c he_stat__decay(&he->stat); he 308 tools/perf/util/hist.c he_stat__decay(he->stat_acc); he 309 tools/perf/util/hist.c decay_callchain(he->callchain); he 311 tools/perf/util/hist.c diff = prev_period - he->stat.period; he 313 tools/perf/util/hist.c if (!he->depth) { he 315 tools/perf/util/hist.c if (!he->filtered) he 319 tools/perf/util/hist.c if (!he->leaf) { he 321 tools/perf/util/hist.c struct rb_node *node = rb_first_cached(&he->hroot_out); he 331 tools/perf/util/hist.c return he->stat.period == 0; he 334 tools/perf/util/hist.c static void hists__delete_entry(struct hists *hists, struct hist_entry *he) he 339 tools/perf/util/hist.c if (he->parent_he) { he 340 tools/perf/util/hist.c root_in = &he->parent_he->hroot_in; he 341 tools/perf/util/hist.c root_out = &he->parent_he->hroot_out; he 350 tools/perf/util/hist.c rb_erase_cached(&he->rb_node_in, root_in); he 351 tools/perf/util/hist.c rb_erase_cached(&he->rb_node, root_out); he 354 tools/perf/util/hist.c if (!he->filtered) he 357 tools/perf/util/hist.c hist_entry__delete(he); he 411 tools/perf/util/hist.c static int hist_entry__init(struct hist_entry *he, he 416 tools/perf/util/hist.c *he = *template; he 417 tools/perf/util/hist.c he->callchain_size = callchain_size; he 420 tools/perf/util/hist.c he->stat_acc = malloc(sizeof(he->stat)); he 421 tools/perf/util/hist.c if (he->stat_acc == NULL) he 423 tools/perf/util/hist.c memcpy(he->stat_acc, &he->stat, sizeof(he->stat)); he 425 tools/perf/util/hist.c memset(&he->stat, 0, sizeof(he->stat)); he 428 tools/perf/util/hist.c map__get(he->ms.map); he 430 tools/perf/util/hist.c if (he->branch_info) { he 436 tools/perf/util/hist.c he->branch_info = malloc(sizeof(*he->branch_info)); he 437 tools/perf/util/hist.c if (he->branch_info == NULL) he 440 tools/perf/util/hist.c memcpy(he->branch_info, template->branch_info, he 441 tools/perf/util/hist.c sizeof(*he->branch_info)); he 443 tools/perf/util/hist.c map__get(he->branch_info->from.map); he 444 tools/perf/util/hist.c map__get(he->branch_info->to.map); he 447 tools/perf/util/hist.c if (he->mem_info) { he 448 tools/perf/util/hist.c map__get(he->mem_info->iaddr.map); he 449 tools/perf/util/hist.c map__get(he->mem_info->daddr.map); he 452 tools/perf/util/hist.c if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) he 453 tools/perf/util/hist.c callchain_init(he->callchain); he 455 tools/perf/util/hist.c if (he->raw_data) { he 456 tools/perf/util/hist.c he->raw_data = memdup(he->raw_data, he->raw_size); he 457 tools/perf/util/hist.c if (he->raw_data == NULL) he 461 tools/perf/util/hist.c if (he->srcline) { he 462 tools/perf/util/hist.c he->srcline = strdup(he->srcline); he 463 tools/perf/util/hist.c if (he->srcline == NULL) he 468 tools/perf/util/hist.c he->res_samples = calloc(sizeof(struct res_sample), he 470 tools/perf/util/hist.c if (!he->res_samples) he 474 tools/perf/util/hist.c INIT_LIST_HEAD(&he->pairs.node); he 475 tools/perf/util/hist.c thread__get(he->thread); he 476 tools/perf/util/hist.c he->hroot_in = RB_ROOT_CACHED; he 477 tools/perf/util/hist.c he->hroot_out = RB_ROOT_CACHED; he 480 tools/perf/util/hist.c he->leaf = true; he 485 tools/perf/util/hist.c zfree(&he->srcline); he 488 tools/perf/util/hist.c zfree(&he->raw_data); he 491 tools/perf/util/hist.c if (he->branch_info) { he 492 tools/perf/util/hist.c map__put(he->branch_info->from.map); he 493 tools/perf/util/hist.c map__put(he->branch_info->to.map); he 494 tools/perf/util/hist.c zfree(&he->branch_info); he 496 tools/perf/util/hist.c if (he->mem_info) { he 497 tools/perf/util/hist.c map__put(he->mem_info->iaddr.map); he 498 tools/perf/util/hist.c map__put(he->mem_info->daddr.map); he 501 tools/perf/util/hist.c map__zput(he->ms.map); he 502 tools/perf/util/hist.c zfree(&he->stat_acc); he 526 tools/perf/util/hist.c struct hist_entry *he; he 535 tools/perf/util/hist.c he = ops->new(callchain_size); he 536 tools/perf/util/hist.c if (he) { he 537 tools/perf/util/hist.c err = hist_entry__init(he, template, sample_self, callchain_size); he 539 tools/perf/util/hist.c ops->free(he); he 540 tools/perf/util/hist.c he = NULL; he 544 tools/perf/util/hist.c return he; he 554 tools/perf/util/hist.c static void hist_entry__add_callchain_period(struct hist_entry *he, u64 period) he 556 tools/perf/util/hist.c if (!hist_entry__has_callchains(he) || !symbol_conf.use_callchain) he 559 tools/perf/util/hist.c he->hists->callchain_period += period; he 560 tools/perf/util/hist.c if (!he->filtered) he 561 tools/perf/util/hist.c he->hists->callchain_non_filtered_period += period; he 571 tools/perf/util/hist.c struct hist_entry *he; he 581 tools/perf/util/hist.c he = rb_entry(parent, struct hist_entry, rb_node_in); he 589 tools/perf/util/hist.c cmp = hist_entry__cmp(he, entry); he 593 tools/perf/util/hist.c he_stat__add_period(&he->stat, period, weight); he 594 tools/perf/util/hist.c hist_entry__add_callchain_period(he, period); he 597 tools/perf/util/hist.c he_stat__add_period(he->stat_acc, period, weight); he 613 tools/perf/util/hist.c if (he->ms.map != entry->ms.map) { he 614 tools/perf/util/hist.c map__put(he->ms.map); he 615 tools/perf/util/hist.c he->ms.map = map__get(entry->ms.map); he 628 tools/perf/util/hist.c he = hist_entry__new(entry, sample_self); he 629 tools/perf/util/hist.c if (!he) he 633 tools/perf/util/hist.c hist_entry__add_callchain_period(he, period); he 636 tools/perf/util/hist.c rb_link_node(&he->rb_node_in, parent, p); he 637 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node_in, hists->entries_in, leftmost); he 640 tools/perf/util/hist.c he_stat__add_cpumode_period(&he->stat, al->cpumode, period); he 642 tools/perf/util/hist.c he_stat__add_cpumode_period(he->stat_acc, al->cpumode, period); he 643 tools/perf/util/hist.c return he; he 656 tools/perf/util/hist.c static void hists__res_sample(struct hist_entry *he, struct perf_sample *sample) he 661 tools/perf/util/hist.c if (he->num_res < symbol_conf.res_sample) { he 662 tools/perf/util/hist.c j = he->num_res++; he 666 tools/perf/util/hist.c r = &he->res_samples[j]; he 717 tools/perf/util/hist.c }, *he = hists__findnew_entry(hists, &entry, al, sample_self); he 719 tools/perf/util/hist.c if (!hists->has_callchains && he && he->callchain_size != 0) he 721 tools/perf/util/hist.c if (he && symbol_conf.res_sample) he 722 tools/perf/util/hist.c hists__res_sample(he, sample); he 723 tools/perf/util/hist.c return he; he 758 tools/perf/util/hist.c }, *he = hists__findnew_entry(hists, &entry, al, false); he 760 tools/perf/util/hist.c return he; he 798 tools/perf/util/hist.c struct hist_entry *he; he 816 tools/perf/util/hist.c he = hists__add_entry(hists, al, iter->parent, NULL, mi, he 818 tools/perf/util/hist.c if (!he) he 821 tools/perf/util/hist.c iter->he = he; he 831 tools/perf/util/hist.c struct hist_entry *he = iter->he; he 834 tools/perf/util/hist.c if (he == NULL) he 837 tools/perf/util/hist.c hists__inc_nr_samples(hists, he->filtered); he 839 tools/perf/util/hist.c err = hist_entry__append_callchain(he, iter->sample); he 849 tools/perf/util/hist.c iter->he = NULL; he 902 tools/perf/util/hist.c struct hist_entry *he = NULL; he 918 tools/perf/util/hist.c he = hists__add_entry(hists, al, iter->parent, &bi[i], NULL, he 920 tools/perf/util/hist.c if (he == NULL) he 923 tools/perf/util/hist.c hists__inc_nr_samples(hists, he->filtered); he 926 tools/perf/util/hist.c iter->he = he; he 936 tools/perf/util/hist.c iter->he = NULL; he 953 tools/perf/util/hist.c struct hist_entry *he; he 955 tools/perf/util/hist.c he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL, he 957 tools/perf/util/hist.c if (he == NULL) he 960 tools/perf/util/hist.c iter->he = he; he 968 tools/perf/util/hist.c struct hist_entry *he = iter->he; he 972 tools/perf/util/hist.c if (he == NULL) he 975 tools/perf/util/hist.c iter->he = NULL; he 977 tools/perf/util/hist.c hists__inc_nr_samples(evsel__hists(evsel), he->filtered); he 979 tools/perf/util/hist.c return hist_entry__append_callchain(he, sample); he 1013 tools/perf/util/hist.c struct hist_entry *he; he 1016 tools/perf/util/hist.c he = hists__add_entry(hists, al, iter->parent, NULL, NULL, he 1018 tools/perf/util/hist.c if (he == NULL) he 1021 tools/perf/util/hist.c iter->he = he; he 1022 tools/perf/util/hist.c he_cache[iter->curr++] = he; he 1024 tools/perf/util/hist.c hist_entry__append_callchain(he, sample); he 1032 tools/perf/util/hist.c hists__inc_nr_samples(hists, he->filtered); he 1057 tools/perf/util/hist.c struct hist_entry *he; he 1087 tools/perf/util/hist.c iter->he = NULL; he 1092 tools/perf/util/hist.c he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL, he 1094 tools/perf/util/hist.c if (he == NULL) he 1097 tools/perf/util/hist.c iter->he = he; he 1098 tools/perf/util/hist.c he_cache[iter->curr++] = he; he 1100 tools/perf/util/hist.c if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) he 1101 tools/perf/util/hist.c callchain_append(he->callchain, &cursor, sample->period); he 1110 tools/perf/util/hist.c iter->he = NULL; he 1171 tools/perf/util/hist.c if (iter->he && iter->add_entry_cb) { he 1182 tools/perf/util/hist.c if (iter->he && iter->add_entry_cb) { he 1239 tools/perf/util/hist.c void hist_entry__delete(struct hist_entry *he) he 1241 tools/perf/util/hist.c struct hist_entry_ops *ops = he->ops; he 1243 tools/perf/util/hist.c thread__zput(he->thread); he 1244 tools/perf/util/hist.c map__zput(he->ms.map); he 1246 tools/perf/util/hist.c if (he->branch_info) { he 1247 tools/perf/util/hist.c map__zput(he->branch_info->from.map); he 1248 tools/perf/util/hist.c map__zput(he->branch_info->to.map); he 1249 tools/perf/util/hist.c free_srcline(he->branch_info->srcline_from); he 1250 tools/perf/util/hist.c free_srcline(he->branch_info->srcline_to); he 1251 tools/perf/util/hist.c zfree(&he->branch_info); he 1254 tools/perf/util/hist.c if (he->mem_info) { he 1255 tools/perf/util/hist.c map__zput(he->mem_info->iaddr.map); he 1256 tools/perf/util/hist.c map__zput(he->mem_info->daddr.map); he 1257 tools/perf/util/hist.c mem_info__zput(he->mem_info); he 1260 tools/perf/util/hist.c if (he->block_info) he 1261 tools/perf/util/hist.c block_info__zput(he->block_info); he 1263 tools/perf/util/hist.c zfree(&he->res_samples); he 1264 tools/perf/util/hist.c zfree(&he->stat_acc); he 1265 tools/perf/util/hist.c free_srcline(he->srcline); he 1266 tools/perf/util/hist.c if (he->srcfile && he->srcfile[0]) he 1267 tools/perf/util/hist.c zfree(&he->srcfile); he 1268 tools/perf/util/hist.c free_callchain(he->callchain); he 1269 tools/perf/util/hist.c zfree(&he->trace_output); he 1270 tools/perf/util/hist.c zfree(&he->raw_data); he 1271 tools/perf/util/hist.c ops->free(he); he 1281 tools/perf/util/hist.c int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp, he 1284 tools/perf/util/hist.c if (!list_is_last(&fmt->list, &he->hists->hpp_list->fields)) { he 1285 tools/perf/util/hist.c const int width = fmt->width(fmt, hpp, he->hists); he 1299 tools/perf/util/hist.c static void hists__apply_filters(struct hists *hists, struct hist_entry *he); he 1300 tools/perf/util/hist.c static void hists__remove_entry_filter(struct hists *hists, struct hist_entry *he, he 1310 tools/perf/util/hist.c static void hist_entry__check_and_remove_filter(struct hist_entry *he, he 1316 tools/perf/util/hist.c struct hist_entry *parent = he->parent_he; he 1343 tools/perf/util/hist.c perf_hpp_list__for_each_format(he->hpp_list, fmt) { he 1357 tools/perf/util/hist.c if (!(he->filtered & (1 << type))) { he 1374 tools/perf/util/hist.c he->filtered |= (1 << type); he 1376 tools/perf/util/hist.c he->filtered |= (parent->filtered & (1 << type)); he 1380 tools/perf/util/hist.c static void hist_entry__apply_hierarchy_filters(struct hist_entry *he) he 1382 tools/perf/util/hist.c hist_entry__check_and_remove_filter(he, HIST_FILTER__THREAD, he 1385 tools/perf/util/hist.c hist_entry__check_and_remove_filter(he, HIST_FILTER__DSO, he 1388 tools/perf/util/hist.c hist_entry__check_and_remove_filter(he, HIST_FILTER__SYMBOL, he 1391 tools/perf/util/hist.c hists__apply_filters(he->hists, he); he 1396 tools/perf/util/hist.c struct hist_entry *he, he 1413 tools/perf/util/hist.c cmp = fmt->collapse(fmt, iter, he); he 1419 tools/perf/util/hist.c he_stat__add_stat(&iter->stat, &he->stat); he 1431 tools/perf/util/hist.c new = hist_entry__new(he, true); he 1446 tools/perf/util/hist.c he->trace_output = NULL; he 1451 tools/perf/util/hist.c he->srcline = NULL; he 1456 tools/perf/util/hist.c he->srcfile = NULL; he 1468 tools/perf/util/hist.c struct hist_entry *he) he 1482 tools/perf/util/hist.c new_he = hierarchy_insert_entry(hists, root, he, parent, &node->hpp); he 1501 tools/perf/util/hist.c he->callchain) < 0) he 1507 tools/perf/util/hist.c hist_entry__delete(he); he 1515 tools/perf/util/hist.c struct hist_entry *he) he 1524 tools/perf/util/hist.c return hists__hierarchy_insert_entry(hists, root, he); he 1530 tools/perf/util/hist.c cmp = hist_entry__collapse(iter, he); he 1535 tools/perf/util/hist.c he_stat__add_stat(&iter->stat, &he->stat); he 1537 tools/perf/util/hist.c he_stat__add_stat(iter->stat_acc, he->stat_acc); he 1539 tools/perf/util/hist.c if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) { he 1543 tools/perf/util/hist.c he->callchain) < 0) he 1546 tools/perf/util/hist.c hist_entry__delete(he); he 1559 tools/perf/util/hist.c rb_link_node(&he->rb_node_in, parent, p); he 1560 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node_in, root, leftmost); he 1579 tools/perf/util/hist.c static void hists__apply_filters(struct hists *hists, struct hist_entry *he) he 1581 tools/perf/util/hist.c hists__filter_entry_by_dso(hists, he); he 1582 tools/perf/util/hist.c hists__filter_entry_by_thread(hists, he); he 1583 tools/perf/util/hist.c hists__filter_entry_by_symbol(hists, he); he 1584 tools/perf/util/hist.c hists__filter_entry_by_socket(hists, he); he 1678 tools/perf/util/hist.c struct hist_entry *he; he 1691 tools/perf/util/hist.c he = rb_entry(node, struct hist_entry, rb_node); he 1694 tools/perf/util/hist.c hists->stats.total_period += he->stat.period; he 1695 tools/perf/util/hist.c if (!he->filtered) he 1696 tools/perf/util/hist.c hists->stats.total_non_filtered_period += he->stat.period; he 1701 tools/perf/util/hist.c struct hist_entry *he) he 1713 tools/perf/util/hist.c if (hist_entry__sort(he, iter) > 0) he 1721 tools/perf/util/hist.c rb_link_node(&he->rb_node, parent, p); he 1722 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node, root, leftmost); he 1725 tools/perf/util/hist.c perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { he 1727 tools/perf/util/hist.c fmt->sort(fmt, he, NULL); he 1739 tools/perf/util/hist.c struct hist_entry *he; he 1745 tools/perf/util/hist.c he = rb_entry(node, struct hist_entry, rb_node_in); he 1748 tools/perf/util/hist.c hierarchy_insert_output_entry(root_out, he); he 1754 tools/perf/util/hist.c if (!he->filtered) { he 1756 tools/perf/util/hist.c hists__calc_col_len(hists, he); he 1759 tools/perf/util/hist.c if (!he->leaf) { he 1761 tools/perf/util/hist.c &he->hroot_in, he 1762 tools/perf/util/hist.c &he->hroot_out, he 1772 tools/perf/util/hist.c u64 total = he->stat.period; he 1775 tools/perf/util/hist.c total = he->stat_acc->period; he 1780 tools/perf/util/hist.c callchain_param.sort(&he->sorted_chain, he->callchain, he 1786 tools/perf/util/hist.c struct hist_entry *he, he 1798 tools/perf/util/hist.c u64 total = he->stat.period; he 1801 tools/perf/util/hist.c total = he->stat_acc->period; he 1805 tools/perf/util/hist.c callchain_param.sort(&he->sorted_chain, he->callchain, he 1813 tools/perf/util/hist.c if (hist_entry__sort(he, iter) > 0) he 1821 tools/perf/util/hist.c rb_link_node(&he->rb_node, parent, p); he 1822 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node, entries, leftmost); he 1826 tools/perf/util/hist.c perf_hpp__defined_dynamic_entry(fmt, he->hists)) he 1827 tools/perf/util/hist.c fmt->sort(fmt, he, NULL); /* update column width */ he 1917 tools/perf/util/hist.c static bool can_goto_child(struct hist_entry *he, enum hierarchy_move_dir hmd) he 1919 tools/perf/util/hist.c if (he->leaf || hmd == HMD_FORCE_SIBLING) he 1922 tools/perf/util/hist.c if (he->unfolded || hmd == HMD_FORCE_CHILD) he 1930 tools/perf/util/hist.c struct hist_entry *he = rb_entry(node, struct hist_entry, rb_node); he 1932 tools/perf/util/hist.c while (can_goto_child(he, HMD_NORMAL)) { he 1933 tools/perf/util/hist.c node = rb_last(&he->hroot_out.rb_root); he 1934 tools/perf/util/hist.c he = rb_entry(node, struct hist_entry, rb_node); he 1941 tools/perf/util/hist.c struct hist_entry *he = rb_entry(node, struct hist_entry, rb_node); he 1943 tools/perf/util/hist.c if (can_goto_child(he, hmd)) he 1944 tools/perf/util/hist.c node = rb_first_cached(&he->hroot_out); he 1949 tools/perf/util/hist.c he = he->parent_he; he 1950 tools/perf/util/hist.c if (he == NULL) he 1953 tools/perf/util/hist.c node = rb_next(&he->rb_node); he 1960 tools/perf/util/hist.c struct hist_entry *he = rb_entry(node, struct hist_entry, rb_node); he 1966 tools/perf/util/hist.c he = he->parent_he; he 1967 tools/perf/util/hist.c if (he == NULL) he 1970 tools/perf/util/hist.c return &he->rb_node; he 1973 tools/perf/util/hist.c bool hist_entry__has_hierarchy_children(struct hist_entry *he, float limit) he 1979 tools/perf/util/hist.c if (he->leaf) he 1982 tools/perf/util/hist.c node = rb_first_cached(&he->hroot_out); he 2041 tools/perf/util/hist.c struct hist_entry *he) he 2044 tools/perf/util/hist.c (he->ms.map == NULL || he->ms.map->dso != hists->dso_filter)) { he 2045 tools/perf/util/hist.c he->filtered |= (1 << HIST_FILTER__DSO); he 2053 tools/perf/util/hist.c struct hist_entry *he) he 2056 tools/perf/util/hist.c he->thread != hists->thread_filter) { he 2057 tools/perf/util/hist.c he->filtered |= (1 << HIST_FILTER__THREAD); he 2065 tools/perf/util/hist.c struct hist_entry *he) he 2068 tools/perf/util/hist.c (!he->ms.sym || strstr(he->ms.sym->name, he 2070 tools/perf/util/hist.c he->filtered |= (1 << HIST_FILTER__SYMBOL); he 2078 tools/perf/util/hist.c struct hist_entry *he) he 2081 tools/perf/util/hist.c (he->socket != hists->socket_filter)) { he 2082 tools/perf/util/hist.c he->filtered |= (1 << HIST_FILTER__SOCKET); he 2089 tools/perf/util/hist.c typedef bool (*filter_fn_t)(struct hists *hists, struct hist_entry *he); he 2111 tools/perf/util/hist.c struct hist_entry *he) he 2124 tools/perf/util/hist.c if (hist_entry__sort(he, iter) > 0) he 2132 tools/perf/util/hist.c rb_link_node(&he->rb_node, parent, p); he 2133 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node, root, leftmost); he 2135 tools/perf/util/hist.c if (he->leaf || he->filtered) he 2138 tools/perf/util/hist.c nd = rb_first_cached(&he->hroot_out); he 2143 tools/perf/util/hist.c rb_erase_cached(&h->rb_node, &he->hroot_out); he 2148 tools/perf/util/hist.c he->hroot_out = new_root; he 2282 tools/perf/util/hist.c struct hist_entry *he; he 2295 tools/perf/util/hist.c he = rb_entry(parent, struct hist_entry, rb_node_in); he 2297 tools/perf/util/hist.c cmp = hist_entry__collapse(he, pair); he 2310 tools/perf/util/hist.c he = hist_entry__new(pair, true); he 2311 tools/perf/util/hist.c if (he) { he 2312 tools/perf/util/hist.c memset(&he->stat, 0, sizeof(he->stat)); he 2313 tools/perf/util/hist.c he->hists = hists; he 2315 tools/perf/util/hist.c memset(he->stat_acc, 0, sizeof(he->stat)); he 2316 tools/perf/util/hist.c rb_link_node(&he->rb_node_in, parent, p); he 2317 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node_in, root, leftmost); he 2318 tools/perf/util/hist.c hists__inc_stats(hists, he); he 2319 tools/perf/util/hist.c he->dummy = true; he 2322 tools/perf/util/hist.c return he; he 2331 tools/perf/util/hist.c struct hist_entry *he; he 2340 tools/perf/util/hist.c he = rb_entry(parent, struct hist_entry, rb_node_in); he 2342 tools/perf/util/hist.c perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { he 2343 tools/perf/util/hist.c cmp = fmt->collapse(fmt, he, pair); he 2358 tools/perf/util/hist.c he = hist_entry__new(pair, true); he 2359 tools/perf/util/hist.c if (he) { he 2360 tools/perf/util/hist.c rb_link_node(&he->rb_node_in, parent, p); he 2361 tools/perf/util/hist.c rb_insert_color_cached(&he->rb_node_in, root, leftmost); he 2363 tools/perf/util/hist.c he->dummy = true; he 2364 tools/perf/util/hist.c he->hists = hists; he 2365 tools/perf/util/hist.c memset(&he->stat, 0, sizeof(he->stat)); he 2366 tools/perf/util/hist.c hists__inc_stats(hists, he); he 2369 tools/perf/util/hist.c return he; he 2373 tools/perf/util/hist.c struct hist_entry *he) he 2384 tools/perf/util/hist.c int64_t cmp = hist_entry__collapse(iter, he); he 2398 tools/perf/util/hist.c struct hist_entry *he) he 2408 tools/perf/util/hist.c perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { he 2409 tools/perf/util/hist.c cmp = fmt->collapse(fmt, iter, he); he 2744 tools/perf/util/hist.c struct hist_entry *he; he 2750 tools/perf/util/hist.c he = rb_entry(node, struct hist_entry, rb_node_in); he 2751 tools/perf/util/hist.c hist_entry__delete(he); he 122 tools/perf/util/hist.h struct hist_entry *he; he 167 tools/perf/util/hist.h int hist_entry__sort_snprintf(struct hist_entry *he, char *bf, size_t size, he 169 tools/perf/util/hist.h int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp, he 171 tools/perf/util/hist.h void hist_entry__delete(struct hist_entry *he); he 173 tools/perf/util/hist.h typedef int (*hists__resort_cb_t)(struct hist_entry *he, void *arg); he 215 tools/perf/util/hist.h void hists__calc_col_len(struct hists *hists, struct hist_entry *he); he 263 tools/perf/util/hist.h struct hist_entry *he); he 265 tools/perf/util/hist.h struct hist_entry *he); he 386 tools/perf/util/hist.h int hist_entry__filter(struct hist_entry *he, int type, const void *arg); he 406 tools/perf/util/hist.h typedef u64 (*hpp_field_fn)(struct hist_entry *he); he 411 tools/perf/util/hist.h struct hist_entry *he, hpp_field_fn get_field, he 414 tools/perf/util/hist.h struct hist_entry *he, hpp_field_fn get_field, he 460 tools/perf/util/hist.h int hist_entry__tui_annotate(struct hist_entry *he, struct evsel *evsel, he 497 tools/perf/util/hist.h static inline int hist_entry__tui_annotate(struct hist_entry *he __maybe_unused, he 556 tools/perf/util/hist.h bool hist_entry__has_hierarchy_children(struct hist_entry *he, float limit); he 559 tools/perf/util/hist.h int __hist_entry__snprintf(struct hist_entry *he, struct perf_hpp *hpp, he 97 tools/perf/util/sort.c static int hist_entry__thread_snprintf(struct hist_entry *he, char *bf, he 100 tools/perf/util/sort.c const char *comm = thread__comm_str(he->thread); he 103 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%7d:%-*.*s", he->thread->tid, he 107 tools/perf/util/sort.c static int hist_entry__thread_filter(struct hist_entry *he, int type, const void *arg) he 114 tools/perf/util/sort.c return th && he->thread != th; he 150 tools/perf/util/sort.c static int hist_entry__comm_snprintf(struct hist_entry *he, char *bf, he 153 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-*.*s", width, width, comm__str(he->comm)); he 206 tools/perf/util/sort.c static int hist_entry__dso_snprintf(struct hist_entry *he, char *bf, he 209 tools/perf/util/sort.c return _hist_entry__dso_snprintf(he->ms.map, bf, size, width); he 212 tools/perf/util/sort.c static int hist_entry__dso_filter(struct hist_entry *he, int type, const void *arg) he 219 tools/perf/util/sort.c return dso && (!he->ms.map || he->ms.map->dso != dso); he 325 tools/perf/util/sort.c static int hist_entry__sym_snprintf(struct hist_entry *he, char *bf, he 328 tools/perf/util/sort.c return _hist_entry__sym_snprintf(he->ms.map, he->ms.sym, he->ip, he 329 tools/perf/util/sort.c he->level, bf, size, width); he 332 tools/perf/util/sort.c static int hist_entry__sym_filter(struct hist_entry *he, int type, const void *arg) he 339 tools/perf/util/sort.c return sym && (!he->ms.sym || !strstr(he->ms.sym->name, sym)); he 353 tools/perf/util/sort.c char *hist_entry__srcline(struct hist_entry *he) he 355 tools/perf/util/sort.c return map__srcline(he->ms.map, he->ip, he->ms.sym); he 369 tools/perf/util/sort.c static int hist_entry__srcline_snprintf(struct hist_entry *he, char *bf, he 372 tools/perf/util/sort.c if (!he->srcline) he 373 tools/perf/util/sort.c he->srcline = hist_entry__srcline(he); he 375 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-.*s", width, he->srcline); he 404 tools/perf/util/sort.c static int hist_entry__srcline_from_snprintf(struct hist_entry *he, char *bf, he 407 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-*.*s", width, width, he->branch_info->srcline_from); he 431 tools/perf/util/sort.c static int hist_entry__srcline_to_snprintf(struct hist_entry *he, char *bf, he 434 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-*.*s", width, width, he->branch_info->srcline_to); he 444 tools/perf/util/sort.c static int hist_entry__sym_ipc_snprintf(struct hist_entry *he, char *bf, he 448 tools/perf/util/sort.c struct symbol *sym = he->ms.sym; he 477 tools/perf/util/sort.c static int hist_entry__sym_ipc_null_snprintf(struct hist_entry *he he 531 tools/perf/util/sort.c static int hist_entry__srcfile_snprintf(struct hist_entry *he, char *bf, he 534 tools/perf/util/sort.c if (!he->srcfile) he 535 tools/perf/util/sort.c he->srcfile = hist_entry__get_srcfile(he); he 537 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-.*s", width, he->srcfile); he 561 tools/perf/util/sort.c static int hist_entry__parent_snprintf(struct hist_entry *he, char *bf, he 565 tools/perf/util/sort.c he->parent ? he->parent->name : "[other]"); he 583 tools/perf/util/sort.c static int hist_entry__cpu_snprintf(struct hist_entry *he, char *bf, he 586 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%*.*d", width, width, he->cpu); he 621 tools/perf/util/sort.c static int hist_entry__cgroup_id_snprintf(struct hist_entry *he, he 625 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%lu/0x%lx", he->cgroup_id.dev, he 626 tools/perf/util/sort.c he->cgroup_id.ino); he 644 tools/perf/util/sort.c static int hist_entry__socket_snprintf(struct hist_entry *he, char *bf, he 647 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%*.*d", width, width-3, he->socket); he 650 tools/perf/util/sort.c static int hist_entry__socket_filter(struct hist_entry *he, int type, const void *arg) he 657 tools/perf/util/sort.c return sk >= 0 && he->socket != sk; he 676 tools/perf/util/sort.c static int hist_entry__time_snprintf(struct hist_entry *he, char *bf, he 682 tools/perf/util/sort.c timestamp__scnprintf_nsec(he->time, he_time, he 685 tools/perf/util/sort.c timestamp__scnprintf_usec(he->time, he_time, he 700 tools/perf/util/sort.c static char *get_trace_output(struct hist_entry *he) he 705 tools/perf/util/sort.c .data = he->raw_data, he 706 tools/perf/util/sort.c .size = he->raw_size, he 709 tools/perf/util/sort.c evsel = hists_to_evsel(he->hists); he 713 tools/perf/util/sort.c tep_print_fields(&seq, he->raw_data, he->raw_size, he 743 tools/perf/util/sort.c static int hist_entry__trace_snprintf(struct hist_entry *he, char *bf, he 748 tools/perf/util/sort.c evsel = hists_to_evsel(he->hists); he 752 tools/perf/util/sort.c if (he->trace_output == NULL) he 753 tools/perf/util/sort.c he->trace_output = get_trace_output(he); he 754 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-.*s", width, he->trace_output); he 776 tools/perf/util/sort.c static int hist_entry__dso_from_snprintf(struct hist_entry *he, char *bf, he 779 tools/perf/util/sort.c if (he->branch_info) he 780 tools/perf/util/sort.c return _hist_entry__dso_snprintf(he->branch_info->from.map, he 786 tools/perf/util/sort.c static int hist_entry__dso_from_filter(struct hist_entry *he, int type, he 794 tools/perf/util/sort.c return dso && (!he->branch_info || !he->branch_info->from.map || he 795 tools/perf/util/sort.c he->branch_info->from.map->dso != dso); he 808 tools/perf/util/sort.c static int hist_entry__dso_to_snprintf(struct hist_entry *he, char *bf, he 811 tools/perf/util/sort.c if (he->branch_info) he 812 tools/perf/util/sort.c return _hist_entry__dso_snprintf(he->branch_info->to.map, he 818 tools/perf/util/sort.c static int hist_entry__dso_to_filter(struct hist_entry *he, int type, he 826 tools/perf/util/sort.c return dso && (!he->branch_info || !he->branch_info->to.map || he 827 tools/perf/util/sort.c he->branch_info->to.map->dso != dso); he 865 tools/perf/util/sort.c static int hist_entry__sym_from_snprintf(struct hist_entry *he, char *bf, he 868 tools/perf/util/sort.c if (he->branch_info) { he 869 tools/perf/util/sort.c struct addr_map_symbol *from = &he->branch_info->from; he 872 tools/perf/util/sort.c he->level, bf, size, width); he 878 tools/perf/util/sort.c static int hist_entry__sym_to_snprintf(struct hist_entry *he, char *bf, he 881 tools/perf/util/sort.c if (he->branch_info) { he 882 tools/perf/util/sort.c struct addr_map_symbol *to = &he->branch_info->to; he 885 tools/perf/util/sort.c he->level, bf, size, width); he 891 tools/perf/util/sort.c static int hist_entry__sym_from_filter(struct hist_entry *he, int type, he 899 tools/perf/util/sort.c return sym && !(he->branch_info && he->branch_info->from.sym && he 900 tools/perf/util/sort.c strstr(he->branch_info->from.sym->name, sym)); he 903 tools/perf/util/sort.c static int hist_entry__sym_to_filter(struct hist_entry *he, int type, he 911 tools/perf/util/sort.c return sym && !(he->branch_info && he->branch_info->to.sym && he 912 tools/perf/util/sort.c strstr(he->branch_info->to.sym->name, sym)); he 960 tools/perf/util/sort.c static int hist_entry__mispredict_snprintf(struct hist_entry *he, char *bf, he 964 tools/perf/util/sort.c if (he->branch_info) { he 965 tools/perf/util/sort.c if (he->branch_info->flags.predicted) he 967 tools/perf/util/sort.c else if (he->branch_info->flags.mispred) he 984 tools/perf/util/sort.c static int hist_entry__cycles_snprintf(struct hist_entry *he, char *bf, he 987 tools/perf/util/sort.c if (!he->branch_info) he 989 tools/perf/util/sort.c if (he->branch_info->flags.cycles == 0) he 992 tools/perf/util/sort.c he->branch_info->flags.cycles); he 1016 tools/perf/util/sort.c static int hist_entry__daddr_snprintf(struct hist_entry *he, char *bf, he 1023 tools/perf/util/sort.c if (he->mem_info) { he 1024 tools/perf/util/sort.c addr = he->mem_info->daddr.addr; he 1025 tools/perf/util/sort.c map = he->mem_info->daddr.map; he 1026 tools/perf/util/sort.c sym = he->mem_info->daddr.sym; he 1028 tools/perf/util/sort.c return _hist_entry__sym_snprintf(map, sym, addr, he->level, bf, size, he 1045 tools/perf/util/sort.c static int hist_entry__iaddr_snprintf(struct hist_entry *he, char *bf, he 1052 tools/perf/util/sort.c if (he->mem_info) { he 1053 tools/perf/util/sort.c addr = he->mem_info->iaddr.addr; he 1054 tools/perf/util/sort.c map = he->mem_info->iaddr.map; he 1055 tools/perf/util/sort.c sym = he->mem_info->iaddr.sym; he 1057 tools/perf/util/sort.c return _hist_entry__sym_snprintf(map, sym, addr, he->level, bf, size, he 1075 tools/perf/util/sort.c static int hist_entry__dso_daddr_snprintf(struct hist_entry *he, char *bf, he 1080 tools/perf/util/sort.c if (he->mem_info) he 1081 tools/perf/util/sort.c map = he->mem_info->daddr.map; he 1105 tools/perf/util/sort.c static int hist_entry__locked_snprintf(struct hist_entry *he, char *bf, he 1110 tools/perf/util/sort.c perf_mem__lck_scnprintf(out, sizeof(out), he->mem_info); he 1133 tools/perf/util/sort.c static int hist_entry__tlb_snprintf(struct hist_entry *he, char *bf, he 1138 tools/perf/util/sort.c perf_mem__tlb_scnprintf(out, sizeof(out), he->mem_info); he 1161 tools/perf/util/sort.c static int hist_entry__lvl_snprintf(struct hist_entry *he, char *bf, he 1166 tools/perf/util/sort.c perf_mem__lvl_scnprintf(out, sizeof(out), he->mem_info); he 1189 tools/perf/util/sort.c static int hist_entry__snoop_snprintf(struct hist_entry *he, char *bf, he 1194 tools/perf/util/sort.c perf_mem__snp_scnprintf(out, sizeof(out), he->mem_info); he 1262 tools/perf/util/sort.c static int hist_entry__dcacheline_snprintf(struct hist_entry *he, char *bf, he 1269 tools/perf/util/sort.c char level = he->level; he 1271 tools/perf/util/sort.c if (he->mem_info) { he 1272 tools/perf/util/sort.c addr = cl_address(he->mem_info->daddr.al_addr); he 1273 tools/perf/util/sort.c map = he->mem_info->daddr.map; he 1274 tools/perf/util/sort.c sym = he->mem_info->daddr.sym; he 1277 tools/perf/util/sort.c if ((he->cpumode != PERF_RECORD_MISC_KERNEL) && he 1297 tools/perf/util/sort.c static u64 he_weight(struct hist_entry *he) he 1299 tools/perf/util/sort.c return he->stat.nr_events ? he->stat.weight / he->stat.nr_events : 0; he 1308 tools/perf/util/sort.c static int hist_entry__local_weight_snprintf(struct hist_entry *he, char *bf, he 1311 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-*llu", width, he_weight(he)); he 1327 tools/perf/util/sort.c static int hist_entry__global_weight_snprintf(struct hist_entry *he, char *bf, he 1330 tools/perf/util/sort.c return repsep_snprintf(bf, size, "%-*llu", width, he->stat.weight); he 1409 tools/perf/util/sort.c static int hist_entry__phys_daddr_snprintf(struct hist_entry *he, char *bf, he 1416 tools/perf/util/sort.c addr = he->mem_info->daddr.phys_addr; he 1418 tools/perf/util/sort.c ret += repsep_snprintf(bf + ret, size - ret, "[%c] ", he->level); he 1447 tools/perf/util/sort.c static int hist_entry__abort_snprintf(struct hist_entry *he, char *bf, he 1452 tools/perf/util/sort.c if (he->branch_info) { he 1453 tools/perf/util/sort.c if (he->branch_info->flags.abort) he 1479 tools/perf/util/sort.c static int hist_entry__in_tx_snprintf(struct hist_entry *he, char *bf, he 1484 tools/perf/util/sort.c if (he->branch_info) { he 1485 tools/perf/util/sort.c if (he->branch_info->flags.in_tx) he 1542 tools/perf/util/sort.c static int hist_entry__transaction_snprintf(struct hist_entry *he, char *bf, he 1545 tools/perf/util/sort.c u64 t = he->transaction; he 1599 tools/perf/util/sort.c static int hist_entry__sym_size_snprintf(struct hist_entry *he, char *bf, he 1602 tools/perf/util/sort.c return _hist_entry__sym_size_snprintf(he->ms.sym, bf, size, width); he 1639 tools/perf/util/sort.c static int hist_entry__dso_size_snprintf(struct hist_entry *he, char *bf, he 1642 tools/perf/util/sort.c return _hist_entry__dso_size_snprintf(he->ms.map, bf, size, width); he 1786 tools/perf/util/sort.c struct hist_entry *he) he 1794 tools/perf/util/sort.c len = hists__col_len(he->hists, hse->se->se_width_idx); he 1796 tools/perf/util/sort.c return hse->se->se_snprintf(he, hpp->buf, hpp->size, len); he 1933 tools/perf/util/sort.c int hist_entry__filter(struct hist_entry *he, int type, const void *arg) he 1940 tools/perf/util/sort.c perf_hpp_list__for_each_format(he->hpp_list, fmt) { he 1952 tools/perf/util/sort.c r = hse->se->se_filter(he, type, arg); he 2019 tools/perf/util/sort.c struct hist_entry *he) he 2030 tools/perf/util/sort.c if (!he->trace_output) he 2031 tools/perf/util/sort.c he->trace_output = get_trace_output(he); he 2034 tools/perf/util/sort.c str = he->trace_output; he 2102 tools/perf/util/sort.c struct hist_entry *he) he 2120 tools/perf/util/sort.c if (!he->trace_output) he 2121 tools/perf/util/sort.c he->trace_output = get_trace_output(he); he 2125 tools/perf/util/sort.c str = he->trace_output; he 2154 tools/perf/util/sort.c tep_print_field(&seq, he->raw_data, hde->field); he 158 tools/perf/util/sort.h static __pure inline bool hist_entry__has_callchains(struct hist_entry *he) he 160 tools/perf/util/sort.h return he->callchain_size != 0; he 163 tools/perf/util/sort.h static inline bool hist_entry__has_pairs(struct hist_entry *he) he 165 tools/perf/util/sort.h return !list_empty(&he->pairs.node); he 168 tools/perf/util/sort.h static inline struct hist_entry *hist_entry__next_pair(struct hist_entry *he) he 170 tools/perf/util/sort.h if (hist_entry__has_pairs(he)) he 171 tools/perf/util/sort.h return list_entry(he->pairs.node.next, struct hist_entry, pairs.node); he 176 tools/perf/util/sort.h struct hist_entry *he) he 178 tools/perf/util/sort.h list_add_tail(&pair->pairs.node, &he->pairs.head); he 181 tools/perf/util/sort.h static inline float hist_entry__get_percent_limit(struct hist_entry *he) he 183 tools/perf/util/sort.h u64 period = he->stat.period; he 184 tools/perf/util/sort.h u64 total_period = hists__total_period(he->hists); he 190 tools/perf/util/sort.h period = he->stat_acc->period; he 262 tools/perf/util/sort.h int (*se_snprintf)(struct hist_entry *he, char *bf, size_t size, he 264 tools/perf/util/sort.h int (*se_filter)(struct hist_entry *he, int type, const void *arg); he 274 tools/perf/util/sort.h struct hist_entry he; he 306 tools/perf/util/sort.h char *hist_entry__srcline(struct hist_entry *he);