aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/syscall-counts.py
blob: 8adb95ff16641af505836a90a6edb7d46fe58c7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# system call counts
# (c) 2010, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2
#
# Displays system-wide system call totals, broken down by syscall.
# If a [comm] arg is specified, only syscalls called by [comm] are displayed.

from __future__ import print_function

import os
import sys

sys.path.append(os.environ['PERF_EXEC_PATH'] + \
	'/scripts/python/Perf-Trace-Util/lib/Perf/Trace')

from perf_trace_context import *
from Core import *
from Util import syscall_name

usage = "perf script -s syscall-counts.py [comm]\n";

for_comm = None

if len(sys.argv) > 2:
	sys.exit(usage)

if len(sys.argv) > 1:
	for_comm = sys.argv[1]

syscalls = autodict()

def trace_begin():
	print("Press control+C to stop and show the summary")

def trace_end():
	print_syscall_totals()

def raw_syscalls__sys_enter(event_name, context, common_cpu,
		common_secs, common_nsecs, common_pid, common_comm,
		common_callchain, id, args):
	if for_comm is not None:
		if common_comm != for_comm:
			return
	try:
		syscalls[id] += 1
	except TypeError:
		syscalls[id] = 1

def syscalls__sys_enter(event_name, context, common_cpu,
		common_secs, common_nsecs, common_pid, common_comm, id, args):
	raw_syscalls__sys_enter(**locals())

def print_syscall_totals():
	if for_comm is not None:
		print("\nsyscall events for %s:\n" % (for_comm))
	else:
		print("\nsyscall events:\n")

	print("%-40s  %10s" % ("event", "count"))
	print("%-40s  %10s" % ("----------------------------------------",
				"-----------"))

	for id, val in sorted(syscalls.items(),
			key = lambda kv: (kv[1], kv[0]), reverse = True):
		print("%-40s  %10d" % (syscall_name(id), val))
600'>2024-07-03Documentation: exception-tables.rst: Fix the wrong steps referencedLi Zhijian1-1/+1 When it was in text format, it correctly hardcoded steps 8a to 8c. However, after it was converted to RST, the sequence numbers were auto-generated during rendering and became incorrect after some steps were inserted. Change it to refer to steps a to c in a relative way. Signed-off-by: Li Zhijian <lizhijian@fujitsu.com> [jc: Indented the line to make the relative reference more clear] Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614010028.48262-1-lizhijian@fujitsu.com 2024-07-03docs/zh_CN: add process/researcher-guidelines Chinese translationDongliang Mu2-1/+130 Finish the translation of researcher-guidelines and add it to the index file. Update to commit 27103dddc2da ("Documentation: update mailing list addresses") Reviewed-by: Alex Shi <alexs@kernel.org> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614032211.241899-1-dzm91@hust.edu.cn 2024-07-03Documentation/tools/rv: fix document headerJiri Kastner1-3/+3 align header of document with filename and rest of the content Signed-off-by: Jiri Kastner <cz172638@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240626203906.191841-1-cz172638@gmail.com 2024-07-03docs/sp_SP: Add translation of process/maintainer-kvm-x86.rstCarlos Bilbao2-0/+466 Translate Documentation/process/maintainer-kvm-x86.rst into Spanish. Co-developed-by: Juan Embid <jembid@ucm.es> Signed-off-by: Juan Embid <jembid@ucm.es> Signed-off-by: Carlos Bilbao <carlos.bilbao.osdev@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> [jc: fixed apply- and build-time warnings] Link: https://lore.kernel.org/r/20240626221942.2780668-1-carlos.bilbao.osdev@gmail.com 2024-07-03docs/admin-guide/mm: correct typo 'quired' to 'queried'Daniel Watson1-1/+1 Convert the word "quired" to the word "queried" which makes more sense in this context. Signed-off-by: Daniel Watson <ozzloy@each.do> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/878qymrjrg.fsf@trent-reznor 2024-07-03Add libps2 to the input section of driver-apiDmitry Torokhov1-0/+7 libps2 has been using kerneldoc to document its methods, but was not actually plugged into driver-api. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/ZoMQhkyUQYi1Bx4t@google.com 2024-07-03Docs/mm/index: move allocation profiling document to unsorted documents chapterSeongJae Park1-1/+1 The memory allocation profiling document was added to the bottom of the new outline. Apparently it was not decided by well-defined guidelines or a thorough discussions. Rather than that, it was added there just because there was no place for such unsorted documents. Now there is the chapter. Move the document to the new place. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240701190512.49379-5-sj@kernel.org 2024-07-03Docs/mm/index: rename 'Legacy Documentation' to 'Unsorted Documentation'SeongJae Park1-7/+7 The intention of 'Legacy Documentation' chapter is to keep the old documents that not yet sorted into the new outline, and encourage new documents to be integrated in the new outline from the beginning. However, the new outline will take some more time to be completed. It has started about two years ago, and still many parts are not yet written. Also, there is no clear guidline for placing each document for all cases, for not only the 'legacy' documents, but also for new documents. For example, memory allocation profiling document has been added to the bottom of the new outline. Apparently it was not following some well-defined guideliens or a result of a discussion. Furthermore, the title ("legacy") makes people feel the documents on the chapter might be outdated or not actively maintained. Rename 'Legacy Documentation' to 'Unsorted Documentation' and remove the description saying it is for 'older' documents. After this change, new documents that not clear enough where it should be placed on the new outline can be added on the chapter while well-defined guidelines or discussion for the new outline is made. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240701190512.49379-4-sj@kernel.org 2024-07-03Docs/mm/index: Remove 'Memory Management Guide' chapter markerSeongJae Park1-3/+0 'Memory Management Guide' chapter aims to be not an additional chapter of the document, but the ultimate single outline of the document. In the sense, marking it as a chapter under the document makes no sense, and the rendered document looks odd. Remove the chapter marker. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240701190512.49379-3-sj@kernel.org 2024-07-03Docs/mm/allocation-profiling: mark 'Theory of operation' as chapterSeongJae Park1-1/+0 'Theory of operation' part of allocation-profiling document is apparently a chapter. However, it is mistakenly marked as a document title. As a result, rendered mm document index page shows two items for the document. Fix it to be marked as a chapter. Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240701190512.49379-2-sj@kernel.org 2024-06-27Documentation: Remove IA-64 from kernel-parametersThomas Huth2-43/+3 IA-64 has been removed from the tree, so we should also remove the corresponding kernel-parameters documentation now. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240627162458.387700-1-thuth@redhat.com 2024-06-26zh_CN/admin-guide: Add zh_CN/admin-guide/numastat.rst translation documentTao Zou2-1/+49 Add translation zh_CN/admin-guide/numastat.rst and link it to zh_CN/admin-guide/index.rst while clean its todo entry. commit 77691ee92d4a ("Documentation: update numastat explanation") Signed-off-by: Tao Zou <wodemia@linux.alibaba.com> Reviewed-by: Yanteng Si <siyanteng@loongson.cn> Reviewed-by: Alex Shi <alexs@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/tencent_AB1A2D84652D748A2290F5305B94D4612307@qq.com 2024-06-26docs: genericirq.rst: remove extra parenthesis in function definitionChih-Wei Chien1-1/+1 In the paragraph titled "Default flow implementations", the helper function definition (simplified excerpt) for noop(struct irq_data *data) had an extraneous closing parenthesis. This commit removes the unnecessary parenthesis, correcting the function definition. Signed-off-by: Chih-Wei Chien <idoleat@taiker.tw> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240619160057.128208-1-idoleat@taiker.tw 2024-06-26Documentation: English corrections in vmalloced kernel stacksNir Lichtman1-5/+5 Minor grammar fixes in vmalloced-kernel-stacks Signed-off-by: Nir Lichtman <nir@lichtman.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240619215944.GA3571421@lichtman.org 2024-06-26docs: verify/bisect: Fix rendered version URLDiederik de Haas1-1/+1 When rendering the documentation, the 'html' file extension replaces the 'rst' file extension, not add it. So remove the 'rst' part of the URL. Signed-off-by: Diederik de Haas <didi.debian@cknow.org> Reviewed-by: Thorsten Leemhuis <linux@leemhuis.info> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240620081355.11549-1-didi.debian@cknow.org 2024-06-26docs: Extend and refactor index of further kernel docsCarlos Bilbao1-24/+44 Extend the Index of Further Kernel Documentation by adding entries for the Rust for Linux website, the Linux Foundation's YouTube channel, and notes on the second edition of Billimoria's kernel programming book. Also, perform some refactoring: format the text to 75 characters per line and sort per-section content in chronological order of publication. Signed-off-by: Carlos Bilbao <carlos.bilbao.osdev@gmail.com> Tested-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Link: https://lore.kernel.org/r/20240622194727.2171845-1-carlos.bilbao.osdev@gmail.com Signed-off-by: Jonathan Corbet <corbet@lwn.net> 2024-06-26Docs/process/email-clients: Document HacKerMaiLSeongJae Park1-0/+9 HacKerMaiL (hkml) [1] is a simple tool for mailing lists-based development workflows such as that for most Linux kernel subsystems. It is actively being maintained by DAMON maintainer, and recommended for DAMON community[2]. Add a simple introduction of the tool on the email-clients document, too. [1] https://github.com/sjp38/hackermail [2] https://lore.kernel.org/20240621170353.BFB83C2BBFC@smtp.kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-8-sj@kernel.org 2024-06-26Docs/maintainer/maintainer-entry-profile: add DAMON maintainer profileSeongJae Park1-0/+1 DAMON has its maintainer entry profile document, but it's not listed on the existing profiles section of maintainer-entry-profile.rst. Add it. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-7-sj@kernel.org 2024-06-26Docs/process/index: Remove unsorted docs sectionSeongJae Park1-7/+0 'Other material' section on 'process/index' is no more necessary since we have 'staging/' directory. Also all documents on the section has moved to better places. Remove the section. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-6-sj@kernel.org 2024-06-26Docs: Move clang-format from process/ to dev-tools/SeongJae Park12-10/+10 'clang-format' is on 'Other material' section of 'process/index', but it may fit more under 'dev-tools/' directory. Move it. Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: Miguel Ojeda <ojeda@kernel.org> Acked-by: Federico Vaga <federico.vaga@vaga.pv.it> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-5-sj@kernel.org 2024-06-26Docs: Move magic-number from process to stagingSeongJae Park7-5/+5 'Other material' section on 'process/index' is for unsorted documents. However we also have a dedicated place for the purpose, 'staging/'. Move 'magic-number' from the section to 'staging/' directory. Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: Federico Vaga <federico.vaga@vaga.pv.it> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-4-sj@kernel.org 2024-06-26Docs/process/index: Remove riscv/patch-acceptance from 'Other material' sectionSeongJae Park1-1/+0 'patch-acceptance' on 'Other material' section of 'process/index', which is for unsorted documents, is actually well organized under 'arch/riscv/' directory, and linked on the index document of the directory. Remove it from the 'Other material' section. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-3-sj@kernel.org 2024-06-26Docs/process/index: Remove unaligned-memory-access from 'Other material'SeongJae Park1-1/+0 'unaligned-memory-access document' is linked on 'Other material' section of 'core-api/index', which is for unsorted documents. But it is actually well organized under 'core-api/' directory, and linked on the 'core-api/index'. Remove it from 'Other material' section of 'process/index' document. Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240624185312.94537-2-sj@kernel.org 2024-06-26docs/zh_CN: Add driver-api phy translationYanteng Si3-1/+233 Translate driver-api/phy.rst into Chinese. commit d02aa181ee59 ("phy: Add devm_of_phy_optional_get() helper") Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn> Signed-off-by: Yanteng Si <siyanteng@loongson.cn> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240625130909.3672446-1-siyanteng@loongson.cn 2024-06-26doc:it_IT: Fix typo in Reviewed-by tagThorsten Scherer1-1/+1 Signed-off-by: Thorsten Scherer <t.scherer@eckelmann.de> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240625210455.13262-1-t.scherer@eckelmann.de 2024-06-17docs/zh_CN: add back the missing part in the English versionDongliang Mu1-0/+18 The zh_CN kasan document misses the code change in commit eefe68280c94 ("kasan: Add documentation for CONFIG_KASAN_EXTRA_INFO"). Fix this by adding the translation of the missing part. Note that this missing commit is found by checktransupdate.py Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn> Reviewed-by: Alex Shi <alexs@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614140326.3028384-1-dzm91@hust.edu.cn 2024-06-17Documentation: Remove the unused "tp720" from kernel-parameters.txtThomas Huth1-2/+0 The "tp720" switch once belonged to the ps2esdi driver, but this driver has been removed a long time ago in 2008 in the commit 2af3e6017e53 ("The ps2esdi driver was marked as BROKEN more than two years ago due to being no longer working for some time.") already, so let's remove it from the documentation now, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240617073322.40679-1-thuth@redhat.com 2024-06-17Documentation: Remove the unused "topology_updates" from kernel-parameters.txtThomas Huth1-6/+0 The "topology_updates" switch has been removed four years ago in commit c30f931e891e ("powerpc/numa: remove ability to enable topology updates"), so let's remove this from the documentation, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Acked-by: Michael Ellerman <mpe@ellerman.id.au> Acked-by: Nathan Lynch <nathanl@linux.ibm.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240617060848.38937-1-thuth@redhat.com 2024-06-17docs/zh_CN: Update the translation of dev-tools/gdb-kernel-debuggingDongliang Mu1-0/+4 Update to commit 6b219431037b ("docs/scripts/gdb: add necessary make scripts_gdb step") Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn> Reviewed-by: Alex Shi <alexs@kernel.org> [jc: fixed whitespace error] Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240612145048.57829-1-dzm91@hust.edu.cn 2024-06-17Documentation/x86: Switch to new Intel CPU model definesTony Luck1-1/+1 New CPU #defines encode vendor and family as well as model so "_FAM6" is no longer used in the #define names. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240611204814.353821-1-tony.luck@intel.com 2024-06-17Documentation: Remove unused "nps_mtm_hs_ctr" from kernel-parameters.txtThomas Huth1-9/+0 The "nps_mtm_hs_ctr" parameter has been removed in commit dd7c7ab01a04 ("ARC: [plat-eznps]: Drop support for EZChip NPS platform"). Remove it from the documentation now, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614190804.602970-1-thuth@redhat.com 2024-06-17Documentation: Remove unused "spia_*" kernel parametersThomas Huth1-5/+0 The kernel module parameters "spia_io_base", "spia_fio_base", "spia_pedr" and "spia_peddr" have been removed via commit e377ca1e32f6 ("ARM: clps711x: p720t: Special driver for handling NAND memory is removed"). Time to remove them from the documentation now, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614184041.601056-1-thuth@redhat.com 2024-06-17Documentation: Remove unused "mtdset=" from kernel-parameters.txtThomas Huth1-5/+0 The kernel parameter "mtdset" has been removed two years ago in commit 61b7f8920b17 ("ARM: s3c: remove all s3c24xx support") and thus should be removed from the documentation now, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614182508.600113-1-thuth@redhat.com 2024-06-17Documentation: Remove the "rhash_entries=" from kernel-parameters.txtThomas Huth1-3/+0 "rhash_entries" belonged to the routing cache that has been removed in commit 89aef8921bfb ("ipv4: Delete routing cache."). Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614092134.563082-1-thuth@redhat.com 2024-06-17Documentation: Remove "ltpc=" from the kernel-parameters.txtThomas Huth1-3/+0 The string "ltpc" cannot be found in the source code anymore. This kernel parameter likely belonged to the LocalTalk PC card module which has been removed in commit 03dcb90dbf62 ("net: appletalk: remove Apple/Farallon LocalTalk PC support"), so we should remove it from kernel-parameters.txt now, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614084633.560069-1-thuth@redhat.com 2024-06-17Documentation: Add "S390" to the swiotlb kernel parameterThomas Huth1-1/+1 The "swiotlb" kernel parameter is used on s390 for protected virt since commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization") and thus should be marked in kernel-parameters.txt accordingly. Signed-off-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com> Acked-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240614081438.553160-1-thuth@redhat.com 2024-06-12docs: crypto: async-tx-api: fix broken code exampleAhmad Fatoum1-15/+15 The code example fails to compile: 1) addr_conv is defined twice, once as a VLA, which have been phased out 2) submit is not a pointer, but is still dereferenced with -> 3) The first call to async_xor() lacked the trailing semicolon Fix these issues and while at it, fix some code style nitpicks as well: 1) make the functions static as users are unlikely to export them 2) include the relevant header 3) Shorten the example a bit by removing a redundant variable definition Fixes: 04ce9ab385dc ("async_xor: permit callers to pass in a 'dma/page scribble' region") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Andre Noll <maan@tuebingen.mpg.de> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240529-async-dma-docs-v2-1-8faf87e72e6d@pengutronix.de 2024-06-12Documentation: kernel-parameters: Add RISCV for nohltJinjie Ruan1-1/+1 Since commit bcf11b5e99b2 ("riscv: Enable idle generic idle loop") enable idle generic idle loop for RISCV, but the document is not updated synchronously, so update RISCV support for nohlt. Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Fixes: bcf11b5e99b2 ("riscv: Enable idle generic idle loop") Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240604114005.875609-1-ruanjinjie@huawei.com