+ checkstack-pirnt-module-names.patch added to -mm tree

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

 



The patch titled

     checkstack: pirnt module names

has been added to the -mm tree.  Its filename is

     checkstack-pirnt-module-names.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: checkstack: pirnt 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
--- devel/scripts/checkstack.pl~checkstack-pirnt-module-names	2006-06-08 00:13:04.000000000 -0700
+++ devel-akpm/scripts/checkstack.pl	2006-06-08 00:13:04.000000000 -0700
@@ -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

git-infiniband.patch
config-exit-if-no-beginning-filename.patch
git-mtd.patch
git-pcmcia.patch
pcmcia-fix-kernel-doc-function-name.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
gregkh-usb-usb-sisusbvga-possible-cleanups-fix.patch
git-watchdog.patch
alpha-generic-hweight-build-fix.patch
add-poisonh-and-patch-primary-users.patch
update-2-drivers-for-poisonh.patch
poison-add-use-more-constants.patch
add-doc-submitchecklist.patch
doc-add-audit-acct-to-docbook.patch
ip2-fix-sections.patch
codingstyle-add-typedefs-chapter.patch
fix-listh-kernel-doc.patch
listh-doc-change-counter-to-control.patch
kernel-doc-drop-leading-space-in-sections.patch
kernel-doc-script-cleanups.patch
wd7000-fix-section-mismatch-warnings.patch
megaraid_mbox-fix-section-mismatch-warnings.patch
kernel-doc-mm-readhead-fixup.patch
checkstack-pirnt-module-names.patch
pi-futex-rt-mutex-docs-update.patch
acpi-identify-which-device-is-not-power-manageable.patch
acpi-identify-which-device-is-not-power-manageable-fix.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