# system call top # (c) 2010, Tom Zanussi # Licensed under the terms of the GNU GPL License version 2 # # Periodically displays system-wide system call totals, broken down by # syscall. If a [comm] arg is specified, only syscalls called by # [comm] are displayed. If an [interval] arg is specified, the display # will be refreshed every [interval] seconds. The default interval is # 3 seconds. from __future__ import print_function import os, sys, time try: import thread except ImportError: import _thread as thread 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 * usage = "perf script -s sctop.py [comm] [interval]\n"; for_comm = None default_interval = 3 interval = default_interval if len(sys.argv) > 3: sys.exit(usage) if len(sys.argv) > 2: for_comm = sys.argv[1] interval = int(sys.argv[2]) elif len(sys.argv) > 1: try: interval = int(sys.argv[1]) except ValueError: for_comm = sys.argv[1] interval = default_interval syscalls = autodict() def trace_begin(): thread.start_new_thread(print_syscall_totals, (interval,)) pass 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(interval): while 1: clear_term() 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): try: print("%-40s %10d" % (syscall_name(id), val)) except TypeError: pass syscalls.clear() time.sleep(interval) .33.y Hosts the 0x221E linux distro kernel.Ubuntu
summaryrefslogtreecommitdiff
path: root/net/iucv
AgeCommit message (Expand)Author
2024-11-26s390/iucv: MSG_PEEK causes memory leak in iucv_sock_destruct()Sidraya Jayagond
2024-08-22s390/iucv: Fix vargs handling in iucv_alloc_device()Alexandra Winter
2024-07-30net/iucv: fix use after free in iucv_sock_close()Alexandra Winter
2024-07-03driver core: have match() callback in struct bus_type take a const *Greg Kroah-Hartman
2024-05-21Merge tag 's390-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390...Linus Torvalds
2024-05-14s390/iucv: Unexport iucv_rootHeiko Carstens
2024-05-14s390/iucv: Provide iucv_alloc_device() / iucv_release_device()Heiko Carstens
2024-05-13net: change proto and proto_ops accept typeJens Axboe
2024-04-02net/iucv: Avoid explicit cpumask var allocation on stackDawei Li
2024-03-29net: add sk_wake_async_rcu() helperEric Dumazet
2024-03-19Merge tag 's390-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/...Linus Torvalds
2024-03-14Merge tag 'mm-nonmm-stable-2024-03-14-09-36' of git://git.kernel.org/pub/scm/...Linus Torvalds
2024-03-13s390/iucv: use new address translation helpersHeiko Carstens
2024-03-13s390/iucv: fix receive buffer virtual vs physical address confusionAlexander Gordeev
2024-03-06Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>"Ahelenia ZiemiaƄska
2024-02-22net/af_iucv: fix virtual vs physical address confusionAlexander Gordeev
2024-02-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski
2024-02-16net/iucv: fix the allocation size of iucv_path_table arrayAlexander Gordeev
2024-02-16net/iucv: fix virtual vs physical address confusionAlexander Gordeev
2023-12-29iucv: make iucv_bus constGreg Kroah-Hartman
2023-09-19s390: use control register bit definesHeiko Carstens
2023-09-19s390/ctlreg: add local and system prefix to some functionsHeiko Carstens
2023-03-16net/iucv: Fix size of interrupt dataAlexandra Winter