Further results for kmalloc from linux-tracecalls

2005-01-24 Thread Carl Spalletta
  It was erroneously asserted by Horst von Brand that 'linux-tracecalls'
  
"can not find where a function could be called through a pointer"

  On the contrary, almost all the chains are terminated with a callback 
function,
somewhat fewer with an init function, and fewest of all with a syscall.

  Just for fun here is the first half of the (aggregated) list of all functions
terminating chains from our pruned results for kmalloc, marked with the number 
of
chains terminated by each of the 280 functions in this partial list:

(
COMMAND was
/usr/lib/cgi-bin/lnxtc.pl -file=include/linux/slab.h -func=kmalloc -nohtml=1 \
  -prune='drivers/acpi,fs/xfs,kernel/sched.c,kernel/panic.c,mm/oom_kill.c' |
perl -00lane 'print $F[0]' |
sort |
uniq -c |
sort -rn |
median.pl
)

Total chains are 59228
Number of syscalls, callbacks, init functions, etc, terminating chains is 5873
Weighted median is "37   drivers/net/pcmcia/fmvj18x_cs.c::fmvj18x_event"
Mean is 10

   2156 drivers/scsi/osst.c::osst_ioctl
978 drivers/scsi/osst.c::os_scsi_tape_flush
747 drivers/scsi/osst.c::osst_write
532 fs/jffs2/dir.c::jffs2_rename
455 drivers/scsi/osst.c::osst_read
391 fs/jffs2/dir.c::jffs2_mknod
391 fs/jffs2/dir.c::jffs2_mkdir
391 fs/jffs2/dir.c::jffs2_create
351 fs/hpfs/file.c::hpfs_truncate
330 drivers/usb/media/ov511.c::ov51x_probe
324 fs/hpfs/inode.c::hpfs_notify_change
324 fs/hpfs/file.c::hpfs_file_release
314 drivers/usb/media/ov511.c::ov51x_v4l1_ioctl_internal
286 net/rose/rose_dev.c::rose_rebuild_header
269 fs/jffs2/fs.c::jffs2_setattr
269 fs/jffs2/fs.c::jffs2_dirty_inode
268 fs/jffs2/write.c::jffs2_write_inode_range
268 fs/jffs2/file.c::jffs2_prepare_write
266 fs/jffs2/dir.c::jffs2_symlink
266 fs/jffs2/dir.c::jffs2_rmdir
266 fs/jffs2/dir.c::jffs2_link
243 init/main.c::init
225 fs/hpfs/super.c::hpfs_fill_super
222 net/rose/rose_loopback.c::rose_loopback_timer
220 drivers/usb/media/ov511.c::ov51x_v4l1_open
210 drivers/scsi/qla2xxx/qla_init.c::qla2x00_initialize_adapter
202 fs/hpfs/dir.c::hpfs_lookup
188 fs/hpfs/namei.c::hpfs_mkdir
187 fs/ntfs/super.c::ntfs_fill_super
171 sound/usb/usbaudio.c::usb_audio_probe
171 fs/jffs2/background.c::jffs2_garbage_collect_thread
169 fs/jffs2/fs.c::jffs2_write_super
169 fs/hpfs/namei.c::hpfs_symlink
169 fs/hpfs/namei.c::hpfs_mknod
169 fs/hpfs/namei.c::hpfs_create
169 drivers/net/sk98lin/skge.c::SkGeIoctl
165 net/ipv6/tcp_ipv6.c::tcp_v6_hash
164 fs/jffs2/file.c::jffs2_fsync
161 drivers/net/irda/smsc-ircc2.c::smsc_ircc_init
156 net/ipv6/addrconf.c::addrconf_init
156 fs/cifs/file.c::cifs_readdir
156 drivers/scsi/qla2xxx/qla_init.c::qla2x00_configure_fabric
145 net/bridge/br_ioctl.c::br_ioctl_deviceless_stub
139 drivers/net/sk98lin/skgepnmi.c::DiagActions
138 drivers/scsi/osst.c::os_scsi_tape_open
136 fs/hfsplus/dir.c::hfsplus_rename
135 fs/hfs/dir.c::hfs_rename
134 fs/hfs/extent.c::hfs_get_block
132 security/keys/keyctl.c::sys_keyctl
130 net/ax25/ax25_in.c::ax25_kiss_rcv
129 net/ipv4/udp.c::udp_setsockopt
129 net/ipv4/raw.c::raw_setsockopt
125 net/ipv4/af_inet.c::inet_init
123 drivers/scsi/pcmcia/fdomain_stub.c::fdomain_event
123 drivers/scsi/aic7xxx/aic7xxx_osm_pci.c::ahc_linux_pci_dev_probe
122 drivers/scsi/aic7xxx/aic7770_osm.c::aic7770_eisa_dev_probe
121 net/ipv4/af_inet.c::inet_ioctl
121 fs/nfsd/nfs4proc.c::nfsd4_proc_compound
117 drivers/scsi/pcmcia/qlogic_stub.c::qlogic_event
116 drivers/scsi/aic7xxx/aic79xx_osm_pci.c::ahd_linux_pci_dev_probe
116 drivers/net/pcmcia/smc91c92_cs.c::smc_open
114 net/netrom/nr_loopback.c::nr_loopback_timer
113 sound/usb/usbaudio.c::create_composite_quirk
113 drivers/pcmcia/ds.c::ds_ioctl
111 drivers/net/Space.c::net_olddevs_init
107 drivers/scsi/sata_vsc.c::vsc_sata_init_one
107 drivers/scsi/sata_svw.c::k2_sata_init_one
107 drivers/scsi/sata_promise.c::pdc_ata_init_one
107 drivers/scsi/sata_nv.c::nv_init_one
107 drivers/scsi/ahci.c::ahci_init_one
106 drivers/scsi/sata_via.c::svia_init_one
106 drivers/scsi/sata_uli.c::uli_init_one
106 drivers/scsi/sata_sis.c::sis_init_one
106 drivers/scsi/ata_piix.c::piix_init_one
105 fs/hfsplus/dir.c::hfsplus_link
101 drivers/usb/image/microtek.c::mts_usb_probe
101 drivers/usb/image/hpusbscsi.c::hpusbscsi_usb_probe
101 drivers/scsi/NCR_Q720.c::NCR_Q720_probe
101 drivers/scsi/NCR_D700.c::NCR_D700_probe
100 drivers/scsi/sim710.c::sim710_mca_probe
100 drivers/scsi/sim710.c::sim710_eisa_probe
100 drivers/scsi/BusLogic.c::BusLogic_init
 99 drivers/scsi/tmscsim.c::dc390_probe_one
 99 drivers/scsi/scsi_debug.c::sdebug_driver_probe
 99 drivers/scsi/qlogicfas.c::qlogicfas_init
 99 drivers/scsi/dmx3191d.c::dmx3191d_probe_one
 98 net/ipv6/ndisc.c::pndisc_redo
 98 net/ipv6/icmp.c::icmpv6_rcv
 

Further results for kmalloc from linux-tracecalls

2005-01-24 Thread Carl Spalletta
  It was erroneously asserted by Horst von Brand that 'linux-tracecalls'
  
can not find where a function could be called through a pointer

  On the contrary, almost all the chains are terminated with a callback 
function,
somewhat fewer with an init function, and fewest of all with a syscall.

  Just for fun here is the first half of the (aggregated) list of all functions
terminating chains from our pruned results for kmalloc, marked with the number 
of
chains terminated by each of the 280 functions in this partial list:

(
COMMAND was
/usr/lib/cgi-bin/lnxtc.pl -file=include/linux/slab.h -func=kmalloc -nohtml=1 \
  -prune='drivers/acpi,fs/xfs,kernel/sched.c,kernel/panic.c,mm/oom_kill.c' |
perl -00lane 'print $F[0]' |
sort |
uniq -c |
sort -rn |
median.pl
)

Total chains are 59228
Number of syscalls, callbacks, init functions, etc, terminating chains is 5873
Weighted median is 37   drivers/net/pcmcia/fmvj18x_cs.c::fmvj18x_event
Mean is 10

   2156 drivers/scsi/osst.c::osst_ioctl
978 drivers/scsi/osst.c::os_scsi_tape_flush
747 drivers/scsi/osst.c::osst_write
532 fs/jffs2/dir.c::jffs2_rename
455 drivers/scsi/osst.c::osst_read
391 fs/jffs2/dir.c::jffs2_mknod
391 fs/jffs2/dir.c::jffs2_mkdir
391 fs/jffs2/dir.c::jffs2_create
351 fs/hpfs/file.c::hpfs_truncate
330 drivers/usb/media/ov511.c::ov51x_probe
324 fs/hpfs/inode.c::hpfs_notify_change
324 fs/hpfs/file.c::hpfs_file_release
314 drivers/usb/media/ov511.c::ov51x_v4l1_ioctl_internal
286 net/rose/rose_dev.c::rose_rebuild_header
269 fs/jffs2/fs.c::jffs2_setattr
269 fs/jffs2/fs.c::jffs2_dirty_inode
268 fs/jffs2/write.c::jffs2_write_inode_range
268 fs/jffs2/file.c::jffs2_prepare_write
266 fs/jffs2/dir.c::jffs2_symlink
266 fs/jffs2/dir.c::jffs2_rmdir
266 fs/jffs2/dir.c::jffs2_link
243 init/main.c::init
225 fs/hpfs/super.c::hpfs_fill_super
222 net/rose/rose_loopback.c::rose_loopback_timer
220 drivers/usb/media/ov511.c::ov51x_v4l1_open
210 drivers/scsi/qla2xxx/qla_init.c::qla2x00_initialize_adapter
202 fs/hpfs/dir.c::hpfs_lookup
188 fs/hpfs/namei.c::hpfs_mkdir
187 fs/ntfs/super.c::ntfs_fill_super
171 sound/usb/usbaudio.c::usb_audio_probe
171 fs/jffs2/background.c::jffs2_garbage_collect_thread
169 fs/jffs2/fs.c::jffs2_write_super
169 fs/hpfs/namei.c::hpfs_symlink
169 fs/hpfs/namei.c::hpfs_mknod
169 fs/hpfs/namei.c::hpfs_create
169 drivers/net/sk98lin/skge.c::SkGeIoctl
165 net/ipv6/tcp_ipv6.c::tcp_v6_hash
164 fs/jffs2/file.c::jffs2_fsync
161 drivers/net/irda/smsc-ircc2.c::smsc_ircc_init
156 net/ipv6/addrconf.c::addrconf_init
156 fs/cifs/file.c::cifs_readdir
156 drivers/scsi/qla2xxx/qla_init.c::qla2x00_configure_fabric
145 net/bridge/br_ioctl.c::br_ioctl_deviceless_stub
139 drivers/net/sk98lin/skgepnmi.c::DiagActions
138 drivers/scsi/osst.c::os_scsi_tape_open
136 fs/hfsplus/dir.c::hfsplus_rename
135 fs/hfs/dir.c::hfs_rename
134 fs/hfs/extent.c::hfs_get_block
132 security/keys/keyctl.c::sys_keyctl
130 net/ax25/ax25_in.c::ax25_kiss_rcv
129 net/ipv4/udp.c::udp_setsockopt
129 net/ipv4/raw.c::raw_setsockopt
125 net/ipv4/af_inet.c::inet_init
123 drivers/scsi/pcmcia/fdomain_stub.c::fdomain_event
123 drivers/scsi/aic7xxx/aic7xxx_osm_pci.c::ahc_linux_pci_dev_probe
122 drivers/scsi/aic7xxx/aic7770_osm.c::aic7770_eisa_dev_probe
121 net/ipv4/af_inet.c::inet_ioctl
121 fs/nfsd/nfs4proc.c::nfsd4_proc_compound
117 drivers/scsi/pcmcia/qlogic_stub.c::qlogic_event
116 drivers/scsi/aic7xxx/aic79xx_osm_pci.c::ahd_linux_pci_dev_probe
116 drivers/net/pcmcia/smc91c92_cs.c::smc_open
114 net/netrom/nr_loopback.c::nr_loopback_timer
113 sound/usb/usbaudio.c::create_composite_quirk
113 drivers/pcmcia/ds.c::ds_ioctl
111 drivers/net/Space.c::net_olddevs_init
107 drivers/scsi/sata_vsc.c::vsc_sata_init_one
107 drivers/scsi/sata_svw.c::k2_sata_init_one
107 drivers/scsi/sata_promise.c::pdc_ata_init_one
107 drivers/scsi/sata_nv.c::nv_init_one
107 drivers/scsi/ahci.c::ahci_init_one
106 drivers/scsi/sata_via.c::svia_init_one
106 drivers/scsi/sata_uli.c::uli_init_one
106 drivers/scsi/sata_sis.c::sis_init_one
106 drivers/scsi/ata_piix.c::piix_init_one
105 fs/hfsplus/dir.c::hfsplus_link
101 drivers/usb/image/microtek.c::mts_usb_probe
101 drivers/usb/image/hpusbscsi.c::hpusbscsi_usb_probe
101 drivers/scsi/NCR_Q720.c::NCR_Q720_probe
101 drivers/scsi/NCR_D700.c::NCR_D700_probe
100 drivers/scsi/sim710.c::sim710_mca_probe
100 drivers/scsi/sim710.c::sim710_eisa_probe
100 drivers/scsi/BusLogic.c::BusLogic_init
 99 drivers/scsi/tmscsim.c::dc390_probe_one
 99 drivers/scsi/scsi_debug.c::sdebug_driver_probe
 99 drivers/scsi/qlogicfas.c::qlogicfas_init
 99 drivers/scsi/dmx3191d.c::dmx3191d_probe_one
 98 net/ipv6/ndisc.c::pndisc_redo
 98 net/ipv6/icmp.c::icmpv6_rcv
 96 

Linux-tracecalls, a clarification

2005-01-21 Thread Carl Spalletta
http://www.linuxrd.com/~carl/cgi-bin/lnxtc.pl?help

--- Horst von Brand <[EMAIL PROTECTED]> wrote:
> Re: [ANNOUNCE] Linux-tracecalls, a new tool for Kernel development, released 
> 
> If it can't find out where a function could be called through a pointer
> (very common due to the OOP-in-C style in the kernel) it has no chance.

Dear Doctor von Brand,

  I believe the following should clear up your misunderstanding, perhaps due
to my poor original choice of words.

Carl Spalletta

PATCH #2
--- lnxtc-2.6.10.pl-2005-01-21 00:16:33.0 -0500
+++ lnxtc-2.6.10.pl 2005-01-21 00:50:11.0 -0500
@@ -517,10 +517,22 @@
 $leaf_node = 0;
 $debug and print STDERR "\ncscope line is $full_caller_cscope";

-#Target is a callback
+#TARGET IS A PSEUDO-CALLBACK, AN ARTIFACT OF CSCOPE:
+#
+#The name of an operations structure member, wrongly interpreted by
+#cscope as the name of an actual function - it should be ignored,
+#since it has been confused by cscope with the name of some actual
+#caller. HOWEVER the callbacks are found anyway, under their actual names.
+#and if any function pointed to by a callback is part of a chain to
+#our initial target it _will_ be found, the same as any other caller.
+#
 if($full_caller_cscope =~ /\w+\s*->\s*${target_filefunc}\s*\(/)
 {
-  $debug and print STDERR "callback $target_filefunc ignored.\n";
+  $debug and
+print STDERR "pseudo-callback $target_filefunc ignored.\n";
   next;
 }




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Linux-tracecalls, a clarification

2005-01-21 Thread Carl Spalletta
http://www.linuxrd.com/~carl/cgi-bin/lnxtc.pl?help

--- Horst von Brand [EMAIL PROTECTED] wrote:
 Re: [ANNOUNCE] Linux-tracecalls, a new tool for Kernel development, released 
 
 If it can't find out where a function could be called through a pointer
 (very common due to the OOP-in-C style in the kernel) it has no chance.

Dear Doctor von Brand,

  I believe the following should clear up your misunderstanding, perhaps due
to my poor original choice of words.

Carl Spalletta

PATCH #2
--- lnxtc-2.6.10.pl-2005-01-21 00:16:33.0 -0500
+++ lnxtc-2.6.10.pl 2005-01-21 00:50:11.0 -0500
@@ -517,10 +517,22 @@
 $leaf_node = 0;
 $debug and print STDERR \ncscope line is $full_caller_cscope;

-#Target is a callback
+#TARGET IS A PSEUDO-CALLBACK, AN ARTIFACT OF CSCOPE:
+#
+#The name of an operations structure member, wrongly interpreted by
+#cscope as the name of an actual function - it should be ignored,
+#since it has been confused by cscope with the name of some actual
+#caller. HOWEVER the callbacks are found anyway, under their actual names.
+#and if any function pointed to by a callback is part of a chain to
+#our initial target it _will_ be found, the same as any other caller.
+#
 if($full_caller_cscope =~ /\w+\s*-\s*${target_filefunc}\s*\(/)
 {
-  $debug and print STDERR callback $target_filefunc ignored.\n;
+  $debug and
+print STDERR pseudo-callback $target_filefunc ignored.\n;
   next;
 }




-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Mutation of kernel memory management

2005-01-20 Thread Carl Spalletta
http://www.linuxrd.com/~carl/linux-tracecalls/KMALLOC.html#analysis
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] Linux-tracecalls, a new tool for Kernel development, released

2005-01-20 Thread Carl Spalletta
--- Horst von Brand <[EMAIL PROTECTED]> wrote:

> If it can't find out where a function could be called through a pointer
> (very common due to the OOP-in-C style in the kernel) it has no chance.

Dear Horst,

  No chance of what?

  You do raise an interesting point. Linux-tracecalls already does "find out 
where a
function could be called through a pointer" internally.  Therefore, it would be 
trivial
to add some indication to the the head of the call chain that the subsearch 
aborted
because a callback was detected; and I shall do so in the next release of the 
tool
(which will shortly after kernel.org kernel 2.6.11 is released). 

  The fact that the tool at this stage of development does not do something 
that it
was never designed to do, does not make it worthless. Moreover, I believe the 
burden
of your comments to be ill-considered for the following reasons:

  The functions you refer to are the callbacks that I have explicitly referred
to at http://www.linuxrd.com/~carl/linux-tracecalls :

“Also, by design, 'linux-tracecalls' will stop tracing when it reaches
 a syscall, a gcc-builtin function or a callback.”

  I should have further pointed out, were it not so obvious, that if the call
chain as produced by the tool begins with function ‘F’ (ie 'F' is the oldest 
ancestor
of the initial target function) then:

1)  You have been saved all the work of doing the tracing manually to that
point, not only for that particular chain but for all the chains leading
to your initial target function.

2)  You can then manually check at function ‘F’ to see if there is a 
callback
behind it.

3)  If you find there is a callback behind ‘F’ then you can do another query
using the actual function represented by the callback as a new initial
target.

4)  Callbacks - due to the OOP implications you have pointed out - are in 
most
cases ultimately invoked due to syscalls and the core part of the kernel
generally  (drivers do use OOP of course but it is not the absolute 
necessity
there it is in the case of, for example, the VFS).

That being so the paths to the callbacks are generally short ; thus the 
tool
is doing most of the work for you in any case, even in the minority of 
cases
involving a callback.

5)  The tool has also done all the macro expansions of function-yielding 
macros
for you, which due to the recursive nature of kernel header files is a 
major
job in itself.

  At some future date I would like to add the capabilities you suggest - however
'lnxtc.pl' is presently over 800 lines of code and what you are suggesting is at
least an order of magnitude harder than what has been accomplished already, so 
it
won't be next week

  If this tool is really as useless as you suggest then I shall discontinue 
development.

  But I strongly disagree.  NIH?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] Linux-tracecalls, a new tool for Kernel development, released

2005-01-20 Thread Carl Spalletta
--- Horst von Brand [EMAIL PROTECTED] wrote:

 If it can't find out where a function could be called through a pointer
 (very common due to the OOP-in-C style in the kernel) it has no chance.

Dear Horst,

  No chance of what?

  You do raise an interesting point. Linux-tracecalls already does find out 
where a
function could be called through a pointer internally.  Therefore, it would be 
trivial
to add some indication to the the head of the call chain that the subsearch 
aborted
because a callback was detected; and I shall do so in the next release of the 
tool
(which will shortly after kernel.org kernel 2.6.11 is released). 

  The fact that the tool at this stage of development does not do something 
that it
was never designed to do, does not make it worthless. Moreover, I believe the 
burden
of your comments to be ill-considered for the following reasons:

  The functions you refer to are the callbacks that I have explicitly referred
to at http://www.linuxrd.com/~carl/linux-tracecalls :

“Also, by design, 'linux-tracecalls' will stop tracing when it reaches
 a syscall, a gcc-builtin function or a callback.”

  I should have further pointed out, were it not so obvious, that if the call
chain as produced by the tool begins with function ‘F’ (ie 'F' is the oldest 
ancestor
of the initial target function) then:

1)  You have been saved all the work of doing the tracing manually to that
point, not only for that particular chain but for all the chains leading
to your initial target function.

2)  You can then manually check at function ‘F’ to see if there is a 
callback
behind it.

3)  If you find there is a callback behind ‘F’ then you can do another query
using the actual function represented by the callback as a new initial
target.

4)  Callbacks - due to the OOP implications you have pointed out - are in 
most
cases ultimately invoked due to syscalls and the core part of the kernel
generally  (drivers do use OOP of course but it is not the absolute 
necessity
there it is in the case of, for example, the VFS).

That being so the paths to the callbacks are generally short ; thus the 
tool
is doing most of the work for you in any case, even in the minority of 
cases
involving a callback.

5)  The tool has also done all the macro expansions of function-yielding 
macros
for you, which due to the recursive nature of kernel header files is a 
major
job in itself.

  At some future date I would like to add the capabilities you suggest - however
'lnxtc.pl' is presently over 800 lines of code and what you are suggesting is at
least an order of magnitude harder than what has been accomplished already, so 
it
won't be next week

  If this tool is really as useless as you suggest then I shall discontinue 
development.

  But I strongly disagree.  NIH?
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Mutation of kernel memory management

2005-01-20 Thread Carl Spalletta
http://www.linuxrd.com/~carl/linux-tracecalls/KMALLOC.html#analysis
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux-tracecalls, a new tool for Kernel development, released

2005-01-19 Thread Carl Spalletta
Only five minutes old, and already a patch ;)


--- lnxtc.pl-old  2005-01-19 12:09:00.0 -0800
+++ lnxtc.pl-new  2005-01-19 12:09:38.0 -0800
@@ -627,6 +627,7 @@
$debug = 0;
 }

+$ENV{'PATH'}='/bin:/usr/bin';

 #Redirect standard error to logfile (fatals also to browser)
 unless($nohtml)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[ANNOUNCE] Linux-tracecalls, a new tool for Kernel development, released

2005-01-19 Thread Carl Spalletta
>From http://www.linuxrd.com/~carl/cgi-bin/lnxtc.pl?help

"'LINUX-TRACECALLS' finds all call chains leading to a given function in the 
Linux
kernel, to some arbitrary depth. It consists of two parts - a set of specially
prepared cscope databases for the kernel source tree, and a perl program, 
'lnxtc.pl',
to do the call chain discovery based on the information in the cscope DBs."

"It works, in part, by expanding function-yielding macros and by mangling 
function names
with the name of the file containing the function's definition, prior to 
creating the
cscope files."

"It is believed to be highly accurate.."


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[ANNOUNCE] Linux-tracecalls, a new tool for Kernel development, released

2005-01-19 Thread Carl Spalletta
From http://www.linuxrd.com/~carl/cgi-bin/lnxtc.pl?help

'LINUX-TRACECALLS' finds all call chains leading to a given function in the 
Linux
kernel, to some arbitrary depth. It consists of two parts - a set of specially
prepared cscope databases for the kernel source tree, and a perl program, 
'lnxtc.pl',
to do the call chain discovery based on the information in the cscope DBs.

It works, in part, by expanding function-yielding macros and by mangling 
function names
with the name of the file containing the function's definition, prior to 
creating the
cscope files.

It is believed to be highly accurate..


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux-tracecalls, a new tool for Kernel development, released

2005-01-19 Thread Carl Spalletta
Only five minutes old, and already a patch ;)


--- lnxtc.pl-old  2005-01-19 12:09:00.0 -0800
+++ lnxtc.pl-new  2005-01-19 12:09:38.0 -0800
@@ -627,6 +627,7 @@
$debug = 0;
 }

+$ENV{'PATH'}='/bin:/usr/bin';

 #Redirect standard error to logfile (fatals also to browser)
 unless($nohtml)

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux Kernel Urgently Needed-Open Source Projects

2001-06-27 Thread Carl Spalletta

On Monday July 25, 2001 Jasmin Brown wrote:

>Aufgaben: 
>permanente Anpassung wichtiger Systemkomponenten an
unsere
et cetera

Since nobody jumped on the improbably named Yasmin
Brown & Jill Simmons for daring to post a classified
within these hallowed precincts, I submit herewith my
own contribution to interstellar amity - a free
translation of the German text from that article:

cat << ENDQUOTE
die funktionen:
   ein) Permanent adjustment of important system
komponents to our orders. Orders which must be obeyed!
In this konnection, program SOURCE projects from
Kernel modules mit:
   zwei) Advancement of our Apache Webservers.
   drei) Konception and implementation of teufels für 
 our master architecture and elimination of
 race conditions.
   fier) Configuration and code modification; for 
 example of GFS, Apache, or Linux kernel.
ENDQUOTE

I think that was the gist of it.


__
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Linux Kernel Urgently Needed-Open Source Projects

2001-06-27 Thread Carl Spalletta

On Monday July 25, 2001 Jasmin Brown wrote:

Aufgaben: 
permanente Anpassung wichtiger Systemkomponenten an
unsere
et cetera

Since nobody jumped on the improbably named Yasmin
Brown  Jill Simmons for daring to post a classified
within these hallowed precincts, I submit herewith my
own contribution to interstellar amity - a free
translation of the German text from that article:

cat  ENDQUOTE
die funktionen:
   ein) Permanent adjustment of important system
komponents to our orders. Orders which must be obeyed!
In this konnection, program SOURCE projects from
Kernel modules mit:
   zwei) Advancement of our Apache Webservers.
   drei) Konception and implementation of teufels für 
 our master architecture and elimination of
 race conditions.
   fier) Configuration and code modification; for 
 example of GFS, Apache, or Linux kernel.
ENDQUOTE

I think that was the gist of it.


__
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/