aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/machine.c
AgeCommit message (Expand)AuthorFilesLines
9 daysperf tools: Minimal DEFERRED_CALLCHAIN supportNamhyung Kim1-0/+1
2025-07-25perf machine: Explicitly pass in host perf_envIan Rogers1-8/+8
2025-07-25perf dso: Move build_id to dso_idIan Rogers1-14/+14
2025-05-31perf callchain: Always populate the addr_location map when adding IPIan Rogers1-2/+4
2025-05-28perf machine: Factor creating a "live" machine out of dwarf-unwindIan Rogers1-9/+44
2025-03-06perf report: Do not process non-JIT BPF ksymbol eventsNamhyung Kim1-0/+4
2025-03-05perf machine: Fix insertion of PERF_RECORD_KSYMBOL related kernel mapsNamhyung Kim1-1/+1
2025-03-05perf machine: Fixup kernel maps ends after adding extra mapsNamhyung Kim1-2/+2
2025-02-24perf machine: Reuse module path bufferIan Rogers1-11/+23
2025-02-24perf maps: Switch modules tree walk to io_dir__readdirIan Rogers1-17/+8
2025-02-19perf tools: Improve startup time by reducing unnecessary stat() callsKrzysztof Ɓopatowski1-6/+12
2025-02-17perf report: Add machine parallelismDmitry Vyukov1-0/+7
2025-02-12perf sample: Make user_regs and intr_regs optionalIan Rogers1-2/+2
2025-02-10perf tools: Deadcode removalDr. David Alan Gilbert1-20/+0
2025-01-10perf tools: Fixup end address of modulesNamhyung Kim1-0/+2
2025-01-08perf machine: Don't ignore _etext when not a text symbolChristophe Leroy1-1/+1
2024-12-03perf machine: Initialize machine->env to address a segfaultArnaldo Carvalho de Melo1-0/+2
2024-10-17perf dso: Fix symtab_type for kmod compressionVeronika Molnarova1-1/+1
2024-09-10perf callchain: Allow symbols to be optional when resolving a callchainIan Rogers1-39/+53
2024-08-28perf tools: Print lost samples due to BPF filterNamhyung Kim1-2/+3
2024-08-19perf dso: Constify dso_idIan Rogers1-1/+2
2024-08-14perf annotate: Save branch counters for each blockKan Liang1-0/+3
2024-08-08perf callchain: Fix stitch LBR memory leaksIan Rogers1-2/+15
2024-05-07perf mem-info: Add reference count checkingIan Rogers1-3/+3
2024-05-07perf mem-info: Move mem-info out of mem-events and symbolIan Rogers1-0/+1
2024-05-06perf symbol-elf: Ensure dso__put() in machine__process_ksymbol_register()Ian Rogers1-3/+3
2024-05-06perf dso: Add reference count checking and accessor functionsIan Rogers1-23/+23
2024-04-12perf dsos: Switch more loops to dsos__for_each_dso()Ian Rogers1-4/+4
2024-04-12perf dsos: Introduce dsos__for_each_dso()Ian Rogers1-15/+25
2024-04-12perf dsos: Tidy reference counting and lockingIan Rogers1-60/+2
2024-04-12perf dsos: Attempt to better abstract DSOs internalsIan Rogers1-32/+8
2024-04-12perf map: Remove kernel map before updating start and end addressesJames Clark1-1/+1
2024-03-21perf lock contention: Trim backtrace by skipping traceiter functionsAnne Macedo1-0/+24
2024-03-03perf threads: Move threads to its own filesIan Rogers1-248/+0
2024-03-03perf machine: Move machine's threads into its own abstractionIan Rogers1-185/+223
2024-03-03perf machine: Move fprintf to for_each loop and a callbackIan Rogers1-16/+27
2024-03-03perf report: Sort child tasks by tidIan Rogers1-0/+30
2024-02-12perf maps: Locking tidy up of nr_mapsIan Rogers1-1/+1
2024-02-12perf maps: Get map before returning in maps__find_next_entryIan Rogers1-1/+3
2024-02-12perf maps: Get map before returning in maps__find_by_nameIan Rogers1-2/+4
2024-02-12perf maps: Get map before returning in maps__findIan Rogers1-14/+8
2023-12-20perf maps: Add find next entry to give entry after the given mapIan Rogers1-4/+3
2023-12-20perf maps: Rename clone to copy fromIan Rogers1-1/+1
2023-12-18perf machine: Use function to add missing maps lockIan Rogers1-24/+29
2023-12-06perf map: Simplify map_ip/unmap_ip and make 'struct map' smallerIan Rogers1-2/+1
2023-11-09perf machine thread: Remove exited threads by defaultIan Rogers1-3/+7
2023-10-25perf mem_info: Add and use map_symbol__exit and addr_map_symbol__exitIan Rogers1-4/+2
2023-10-25perf threads: Remove unused dead thread listIan Rogers1-1/+0
2023-10-25libperf rc_check: Add RC_CHK_EQUALIan Rogers1-2/+2
2023-10-25perf machine: Avoid out of bounds LBR memory readIan Rogers1-10/+12
2023-09-11perf machine: Use true and false for bool variableJiapeng Chong1-3/+1
2023-08-10Merge remote-tracking branch 'torvalds/master' into perf-tools-nextArnaldo Carvalho de Melo1-5/+0
2023-08-08Revert "perf report: Append inlines to non-DWARF callchains"Arnaldo Carvalho de Melo1-5/+0
2023-07-28perf machine: Include data symbols in the kernel mapNamhyung Kim1-1/+3
2023-06-12perf callchain: Use pthread keys for tls callchain_cursorIan Rogers1-0/+3
2023-06-12perf map/maps/thread: Changes to reference countingIan Rogers1-12/+17
2023-06-12perf machine: Don't leak module mapsIan Rogers1-3/+3
2023-06-12perf machine: Fix leak of kernel dsoIan Rogers1-1/+2
2023-06-12perf machine: Make delete_threads part of machine__exitIan Rogers1-0/+1
2023-06-12perf thread: Add reference count checkingIan Rogers1-1/+1
2023-06-12perf addr_location: Add init/exit/copy functionsIan Rogers1-15/+20
2023-06-12perf maps: Make delete static, always use putIan Rogers1-1/+1
2023-06-12perf thread: Add accessor functions for threadIan Rogers1-44/+47
2023-06-12perf thread: Make threads rbtree non-invasiveIan Rogers1-35/+66
2023-06-12perf thread: Remove notion of dead threadsIan Rogers1-31/+1
2023-04-19perf map: Add reference count checkingIan Rogers1-1/+1
2023-04-19perf map: Add set_ methods for map->{start,end,pgoff,pgoff,reloc,erange_warne...Arnaldo Carvalho de Melo1-11/+12
2023-04-19perf maps: Use maps__nr_maps() instead of open coded maps->nr_mapsArnaldo Carvalho de Melo1-1/+1
2023-04-06perf map: Changes to reference countingIan Rogers1-31/+48
2023-04-06perf map: Add accessors for ->pgoff and ->relocIan Rogers1-2/+2
2023-04-06perf map: Add helper for ->map_ip() and ->unmap_ip()Ian Rogers1-8/+8
2023-04-06perf map: Rename map_ip() and unmap_ip()Ian Rogers1-2/+2
2023-04-04perf map: Add accessor for start and endIan Rogers1-7/+7
2023-04-04perf map: Add accessor for dsoIan Rogers1-28/+42
2023-04-04perf maps: Add functions to access mapsIan Rogers1-1/+1
2023-04-04perf maps: Remove rb_node from struct mapIan Rogers1-24/+44
2023-04-04perf report: Append inlines to non-DWARF callchainsArtem Savkov1-0/+5
2022-12-14machine: Adopt is_lock_function() from builtin-lock.cArnaldo Carvalho de Melo1-0/+40
2022-10-06perf machine: Remove unused struct process_argsYuan Can1-4/+0
2022-08-10perf machine: Fix missing free of machine->kallsyms_filenameAdrian Hunter1-0/+1
2022-07-20perf tools: Handle injected guest kernel mmap eventAdrian Hunter1-3/+12
2022-07-20perf machine: Use realloc_array_as_needed() in machine__set_current_tid()Adrian Hunter1-19/+7
2022-07-18perf buildid-list: Add a "-m" option to show kernel and modules build-idsBlake Jones1-0/+15
2022-05-23perf tools: Add guest_code supportAdrian Hunter1-0/+87
2022-05-23perf tools: Factor out thread__set_guest_comm()Adrian Hunter1-3/+9
2022-05-23perf tools: Add machine to machines back pointerAdrian Hunter1-0/+2
2022-04-09perf unwind: Don't show unwind error messages when augmenting frame pointer s...James Clark1-1/+1
2022-02-14perf maps: Use a pointer for kmapsIan Rogers1-17/+21
2022-02-06perf tools: Apply correct label to user/kernel symbols in branch modeGerman Gomez1-0/+2
2022-01-19perf machine: Use path__join() to compose a path instead of snprintf(dir, '/'...Arnaldo Carvalho de Melo1-1/+2
2021-12-21perf arm64: Inject missing frames when using 'perf record --call-graph=fp'Alexandre Truong1-5/+14
2021-12-21perf machine: Add a mechanism to inject stack framesAlexandre Truong1-1/+36
2021-10-20perf tools: Add support for PERF_RECORD_AUX_OUTPUT_HW_IDAdrian Hunter1-0/+10
2021-09-18perf machine: Initialize srcline string member in add_location structMichael Petlan1-0/+1
2021-06-19perf machine: Fix refcount usage when processing PERF_RECORD_KSYMBOLRiccardo Mancini1-1/+2
2021-03-23perf tools: Fix various typos in commentsIngo Molnar1-4/+4
2021-03-09perf machine: Assign boolean values to a bool variableJiapeng Chong1-2/+2
2021-02-18perf machine: Factor out machine__idle_thread()Adrian Hunter1-0/+18
2021-02-18perf machine: Factor out machines__find_guest()Adrian Hunter1-0/+9
2021-01-20Merge remote-tracking branch 'torvalds/master' into perf/coreArnaldo Carvalho de Melo1-2/+2
2021-01-15perf intel-pt: Fix 'CPU too large' errorAdrian Hunter1-2/+2
2020-12-28perf tools: Store build id when available in PERF_RECORD_MMAP2 metadata eventsJiri Olsa1-5/+19
2020-12-19perf sort: Add sort option for data page sizeKan Liang1-2/+5
2020-11-27perf tools: Use struct extra_kernel_map in machine__process_kernel_mmap_eventJiri Olsa1-29/+33
2020-11-03perf tools: Fix crash with non-jited bpf progsTommi Rantala1-1/+10
2020-09-17perf machine: Add machine__for_each_dso() functionJiri Olsa1-0/+12
2020-09-03perf tools: Add bpf image check to __map__is_kmoduleJiri Olsa1-6/+0
2020-08-13perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type'Jiri Olsa1-8/+8
2020-07-10perf script: Show text poke address symbolAdrian Hunter1-1/+1
2020-07-10perf tools: Add support for PERF_RECORD_KSYMBOL_TYPE_OOLAdrian Hunter1-0/+6
2020-07-10perf tools: Add support for PERF_RECORD_TEXT_POKEAdrian Hunter1-0/+43
2020-05-28perf tools: Fix is_bpf_image function logicJiri Olsa1-2/+2
2020-05-05perf evsel: Rename perf_evsel__env() to evsel__env()Arnaldo Carvalho de Melo1-1/+1
2020-05-05perf evsel: Rename perf_evsel__has*() to evsel__has*()Arnaldo Carvalho de Melo1-1/+1
2020-04-18perf callchain: Stitch LBR call stackKan Liang1-1/+138
2020-04-18perf callchain: Save previous cursor nodes for LBR stitching approachKan Liang1-4/+72
2020-04-18perf thread: Save previous sample for LBR stitching approachKan Liang1-0/+23
2020-04-18perf machine: Factor out lbr_callchain_add_lbr_ip()Kan Liang1-70/+73
2020-04-18perf machine: Factor out lbr_callchain_add_kernel_ip()Kan Liang1-22/+45
2020-04-18perf machine: Refine the function for LBR call stack reconstructionKan Liang1-35/+76
2020-04-18perf machine: Remove the indent in resolve_lbr_callchain_sampleKan Liang1-60/+63
2020-04-16perf annotate: Add basic support for bpf_imageJiri Olsa1-0/+11
2020-04-16perf machine: Set ksymbol dso as loaded on arrivalJiri Olsa1-0/+1
2020-04-03perf cgroup: Maintain cgroup hierarchyNamhyung Kim1-1/+8
2020-04-03perf tools: Basic support for CGROUP eventNamhyung Kim1-0/+12
2020-03-09perf tools: Add hw_idx in struct branch_stackKan Liang1-17/+18
2020-02-11perf maps: Move kmap::kmaps setup to maps__insert()Jiri Olsa1-12/+1
2020-02-11perf maps: Mark ksymbol DSOs with kernel typeJiri Olsa1-2/+10
2020-02-11perf maps: Mark module DSOs with kernel typeJiri Olsa1-0/+1
2019-11-29perf machine: Fill map_symbol->maps in append_inlines() to fix segfaultArnaldo Carvalho de Melo1-0/+1
2019-11-26perf maps: Rename 'mg' variables to 'maps'Arnaldo Carvalho de Melo1-5/+5
2019-11-26perf map_symbol: Rename ms->mg to ms->mapsArnaldo Carvalho de Melo1-3/+3
2019-11-26perf addr_location: Rename al->mg to al->mapsArnaldo Carvalho de Melo1-3/+3
2019-11-26perf thread: Rename thread->mg to thread->mapsArnaldo Carvalho de Melo1-8/+8
2019-11-26perf maps: Merge 'struct maps' with 'struct map_groups'Arnaldo Carvalho de Melo1-36/+30
2019-11-19perf dso: Move dso_id from 'struct map' to 'struct dso'Arnaldo Carvalho de Melo1-1/+6
2019-11-19perf map: Pass a dso_id to map__new()Arnaldo Carvalho de Melo1-7/+8
2019-11-18perf callchain: Fix segfault in thread__resolve_callchain_sample()Adrian Hunter1-1/+1
2019-11-18perf machine: No need to check if kernel module maps pre-existArnaldo Carvalho de Melo1-10/+6
2019-11-18perf map: No need to adjust the long name of modulesArnaldo Carvalho de Melo1-26/+1
2019-11-12perf tools: Add a 'struct map_groups' pointer to 'struct map_symbol'Arnaldo Carvalho de Melo1-0/+3
2019-11-12pref tools: Make 'struct addr_map_symbol' contain 'struct map_symbol'Arnaldo Carvalho de Melo1-4/+4
2019-11-12perf callchain: Use 'struct map_symbol' in 'struct callchain_cursor_node'Arnaldo Carvalho de Melo1-9/+15
2019-11-12perf unwind: Use 'struct map_symbol' in 'struct unwind_entry'Arnaldo Carvalho de Melo1-8/+9
2019-11-07perf machine: Add kernel_dso() methodArnaldo Carvalho de Melo1-3/+7
2019-11-06perf maps: Add for_each_entry()/_safe() iteratorsArnaldo Carvalho de Melo1-1/+1
2019-09-25libperf: Move 'page_size' global variable to libperfJiri Olsa1-0/+1
2019-09-20perf tools: Move event synthesizing routines to separate .c fileArnaldo Carvalho de Melo1-25/+0
2019-09-20perf tools: Move event synthesizing routines to separate headerArnaldo Carvalho de Melo1-0/+10
2019-08-31perf symbols: Move mem_info and branch_info out of symbol.hArnaldo Carvalho de Melo1-0/+3
2019-08-31perf auxtrace: Uninline functions that touch perf_sessionArnaldo Carvalho de Melo1-0/+2
2019-08-31perf dsos: Move the dsos struct and its methods to separate source filesArnaldo Carvalho de Melo1-0/+1
2019-08-31perf debug: Remove needless include directives from debug.hArnaldo Carvalho de Melo1-0/+1
2019-08-29perf machine: Replace MAX_NR_CPUS with perf_env::nr_cpus_onlineKyle Meyer1-4/+7
2019-08-26perf tool: Rename perf_tool::bpf_event to bpfArnaldo Carvalho de Melo1-1/+1
2019-08-26perf tools: Rename perf_event::ksymbol_event to perf_event::ksymbolArnaldo Carvalho de Melo1-8/+8
2019-08-26libperf: Add PERF_RECORD_LOST_SAMPLES 'struct lost_samples_event' to perf/eve...Jiri Olsa1-1/+1
2019-08-26libperf: Add PERF_RECORD_LOST 'struct lost_event' to perf/event.hJiri Olsa1-1/+1
2019-08-26perf srcline: Add missing srcline.h header to files needing its defsArnaldo Carvalho de Melo1-0/+2
2019-08-26perf record: Move record_opts and other record decls out of perf.hArnaldo Carvalho de Melo1-0/+1
2019-08-12Merge remote-tracking branch 'torvalds/master' into perf/coreArnaldo Carvalho de Melo1-1/+2
2019-08-08perf record: Fix module size on s390Thomas Richter1-1/+2
2019-07-29libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evselJiri Olsa1-2/+2
2019-07-29perf evsel: Rename struct perf_evsel to struct evselJiri Olsa1-3/+3
2019-07-29perf tools: Rename struct thread_map to struct perf_thread_mapJiri Olsa1-1/+1
2019-07-09perf tools: Use zfree() where applicableArnaldo Carvalho de Melo1-2/+2
2019-07-09tools lib: Adopt zalloc()/zfree() from tools/perfArnaldo Carvalho de Melo1-1/+1
2019-07-08Merge remote-tracking branch 'tip/perf/core' into perf/urgentArnaldo Carvalho de Melo1-5/+6
2019-07-06perf thread: Allow references to thread objects after machine__exit()Arnaldo Carvalho de Melo1-2/+23
2019-06-25tools perf: Move from sane_ctype.h obtained from git to the Linux's originalArnaldo Carvalho de Melo1-1/+1
2019-06-25perf tools: Add missing util.h to pick up 'page_size' variableArnaldo Carvalho de Melo1-0/+1
2019-05-28perf machine: Return NULL instead of null-terminating /proc/version arrayDonald Yandt1-2/+2
2019-05-28perf machine: Keep zero in pgoff BPF mapJiri Olsa1-2/+2
2019-05-28perf machine: Read also the end of the kernelJiri Olsa1-9/+18
2019-05-15perf machine: Null-terminate version char array upon fgets(/proc/version) errorDonald Yandt1-1/+2
2019-03-28perf machine: Update kernel map address and re-order properlyWei Li1-12/+20
2019-02-06perf tools: Add missing include for symbols.hArnaldo Carvalho de Melo1-0/+1
2019-01-25perf machine: Use cached rbtreesDavidlohr Bueso1-22/+31
2019-01-21perf tools: Handle PERF_RECORD_BPF_EVENTSong Liu1-0/+3
2019-01-21perf tools: Handle PERF_RECORD_KSYMBOLSong Liu1-0/+55
2019-01-04perf report: Fix wrong iteration count in --branch-historyJin Yao1-1/+1
2018-12-17perf tools: Allow specifying proc-map-timeout in config fileMark Drayton1-3/+1
2018-12-17perf tools: Fix diverse comment typosIngo Molnar1-1/+1
2018-12-17perf thread: Add fallback functions for cases where cpumode is insufficientAdrian Hunter1-0/+27
2018-10-31perf tools: Don't clone maps from parent when synthesizing forksDavid Miller1-1/+18
2018-10-31perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc}David S. Miller1-1/+34
2018-10-05perf record: Use unmapped IP for inline callchain cursorsMilian Wolff1-1/+2
2018-09-27perf report: Don't try to map ip to invalid mapMilian Wolff1-2/+3
2018-08-20perf tools: Store compression id into struct dsoJiri Olsa1-1/+3
2018-07-24perf machine: Use last_match threads cache only in single thread modeJiri Olsa1-3/+22
2018-07-24perf machine: Add threads__set_last_match functionJiri Olsa1-3/+9
2018-07-24perf machine: Add threads__get_last_match functionJiri Olsa1-13/+26
2018-07-24perf script: Show correct offsets for DWARF-based unwindingSandipan Das1-1/+8
2018-05-23perf machine: Synthesize and process mmap events for x86 PTI entry trampolinesAdrian Hunter1-0/+28
2018-05-23perf machine: Create maps for x86 PTI entry trampolinesAdrian Hunter1-19/+47
2018-05-22perf machine: Allow for extra kernel mapsAdrian Hunter1-2/+6
2018-05-22perf machine: Workaround missing maps for x86 PTI entry trampolinesAdrian Hunter1-0/+96
2018-05-22perf machine: Add nr_cpus_avail()Adrian Hunter1-0/+5
2018-05-19perf tools: Fix kernel_start for PTI on x86Adrian Hunter1-1/+6
2018-05-19perf machine: Add machine__is() to identify machine archAdrian Hunter1-0/+9