Re: [PATCH v3 0/7] get_abi.pl: Check for missing symbols at the ABI specs
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-09-22 08:43:50
Also in:
bpf, linux-doc, lkml
On Wed, Sep 22, 2021 at 10:11:02AM +0200, Greg Kroah-Hartman wrote:
On Wed, Sep 22, 2021 at 09:36:09AM +0200, Mauro Carvalho Chehab wrote:quoted
It sounds it took quite a while handling iommu cap, which sounds weird, as it should be looking just 3 What expressions: [07:43:06] What: /sys/class/iommu/.*/amd\-iommu/cap [07:43:06] What: /sys/class/iommu/.*/intel\-iommu/cap [07:43:06] What: /sys/devices/pci.*.*.*.*\:.*.*/0000\:.*.*\:.*.*..*/dma/dma.*chan.*/quickdata/cap Maybe there was a memory starvation while running the script, causing swaps. Still, it is weird that it would happen there, as the hashes and arrays used at the script are all allocated before it starts the search logic. Here, the allocation part takes ~2 seconds.No memory starvation here, this thing is a beast: $ free -h total used free shared buff/cache available Mem: 251Gi 36Gi 13Gi 402Mi 202Gi 212Gi Swap: 4.0Gi 182Mi 3.8Gi $ nproc 64quoted
At least on my Dell Precision 5820 (12 cpu threads), the amount of memory it uses is not huge: $ /usr/bin/time -v ./scripts/get_abi.pl undefined >/dev/null Command being timed: "./scripts/get_abi.pl undefined" User time (seconds): 12.68 System time (seconds): 1.29 Percent of CPU this job got: 99% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:13.98 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 212608 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 52003 Voluntary context switches: 1 Involuntary context switches: 56 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 Unfortunately, I don't have any amd-based machine here, but I'll try to run it later on a big arm server and see how it behaves.I'll run that and get back to you in 30 minutes :)
$ /usr/bin/time -v ./scripts/get_abi.pl undefined > /dev/null Command being timed: "./scripts/get_abi.pl undefined" User time (seconds): 1756.94 System time (seconds): 0.76 Percent of CPU this job got: 99% Elapsed (wall clock) time (h:mm:ss or m:ss): 29:18.94 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 228116 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 55862 Voluntary context switches: 1 Involuntary context switches: 17205 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0