Thread (3 messages) flat view 3 messages, 2 authors, 2021-09-22

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
	64

quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help