- checkstack-pirnt-module-names.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     checkstack: print module names

has been removed from the -mm tree.  Its filename is

     checkstack-pirnt-module-names.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
Subject: checkstack: print module names
From: Randy Dunlap <rdunlap@xxxxxxxxxxxx>


Finding "init_module" high stack usage problems is challenging when there
are over 1600 "init_module" functions in the kernel tree, so make
checkstack.pl print out the filename where the stack usage occurs.  This is
useful for code built as loadable modules.

For built-in code, it just prints the kernel image file name, like
"vmlinux".  Examples:

(before patch:)
0x0000000d callback:					1928
0xffffffff81678c09 huft_build:				1560
0x0018 init_module:					1512

(after patch:)
0x0000000d callback [divacapi]:				1928
0xffffffff81678c09 huft_build [vmlinux]:		1560
0x0018 init_module [hdaps]:				1512

Also change one if-series to use elsif to cut down on unneeded tests.

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
Acked-by: Joern Engel <joern@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 scripts/checkstack.pl |   14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff -puN scripts/checkstack.pl~checkstack-pirnt-module-names scripts/checkstack.pl
--- a/scripts/checkstack.pl~checkstack-pirnt-module-names
+++ a/scripts/checkstack.pl
@@ -89,11 +89,21 @@ sub bysize($) {
 #
 my $funcre = qr/^$x* <(.*)>:$/;
 my $func;
+my $file, $lastslash;
+
 while (my $line = <STDIN>) {
 	if ($line =~ m/$funcre/) {
 		$func = $1;
 	}
-	if ($line =~ m/$re/) {
+	elsif ($line =~ m/(.*):\s*file format/) {
+		$file = $1;
+		$file =~ s/\.ko//;
+		$lastslash = rindex($file, "/");
+		if ($lastslash != -1) {
+			$file = substr($file, $lastslash + 1);
+		}
+	}
+	elsif ($line =~ m/$re/) {
 		my $size = $1;
 		$size = hex($size) if ($size =~ /^0x/);
 
@@ -109,7 +119,7 @@ while (my $line = <STDIN>) {
 		$addr =~ s/ /0/g;
 		$addr = "0x$addr";
 
-		my $intro = "$addr $func:";
+		my $intro = "$addr $func [$file]:";
 		my $padlen = 56 - length($intro);
 		while ($padlen > 0) {
 			$intro .= '	';
_

Patches currently in -mm which might be from rdunlap@xxxxxxxxxxxx are

origin.patch
git-kbuild.patch
git-pcmcia.patch
lpfc-sparse-null-warnings.patch
aic7-cleanup-module_parm_desc-strings.patch
qla1280-fix-section-mismatch-warnings.patch
areca-raid-linux-scsi-driver.patch
git-watchdog.patch
add-poisonh-and-patch-primary-users.patch
update-2-drivers-for-poisonh.patch
poison-add-use-more-constants.patch
pi-futex-rt-mutex-docs-update.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux