Subject: Re: [PATCH v3 0/7] get_abi.pl: Check for missing symbols at the ABI specs

From: Greg Kroah-Hartman <[email-masked]>
Date: Wed, 22 Sep 2021 10:43:42 +0200

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:
> > 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
> 
> 
> > 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