mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Davide Libenzi <davidel@xmailserver.org>
To: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
Cc: Linus Torvalds <torvalds@osdl.org>,
	Horst von Brand <vonbrand@inf.utfsm.cl>,
	Pavel Machek <pavel@suse.cz>, Andrew Morton <akpm@osdl.org>,
	Arjan van de Ven <arjanv@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	Andrea Arcangeli <andrea@suse.de>, Rik van Riel <riel@redhat.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] explicitly mark recursion count
Date: Wed, 2 Jun 2004 16:20:24 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.58.0406021458090.22742@bigblue.dev.mdolabs.com> (raw)
In-Reply-To: <20040602185832.GA2874@wohnheim.fh-wedel.de>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: TEXT/PLAIN; charset=X-UNKNOWN, Size: 1644 bytes --]

On Wed, 2 Jun 2004, [iso-8859-1] Jörn Engel wrote:

> Yeah, I know about the problems to generate a complete call graph.
> With function pointers, it is plain impossible to get it right in the
> most general case.
> 
> Note the "in the most general case" part.  You can get things right if
> you make some assumptions and those assumptions are actually valid.
> In my case the assumptions are:
> 1. all relevant function pointers are stuffed into some struct and
> 2. no casts are used to disguise function pointer as something else.
> 
> If you stick with those rules, the resulting code is quite sane, which
> is much more important than any tools being usable.  If the kernel
> doesn't stick to those rules for a good reason, I'd like to know about
> it, so I can adjust my tool.  And if the kernel doesn't stick to those
> rules for no good reason, the code if broken and needs to be fixed.
> 
> Is this sane?

Think at file_operations as very simple example, and try to find out what 
is actually called when somewhere the code does f_op->*(). How would you 
build the graph down there. You'd have to record all the functions that 
have been assigned to such method throughout the code, and nest *all* 
their graph in place. And this will eventually trigger false positives. 
Similar thing with functions that accepts callbacks, either directly or 
inside structures. And this doesn't even start to take aliasing into 
account. Hunting stack hungry functions is very good, and having a tool 
that is maybe 60% precise in detecting loops is fine too. But requiring 
metadata to be maintained to support such tool is IMO wrong.



- Davide


  parent reply	other threads:[~2004-06-02 23:20 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-23 19:43 4g/4g for 2.6.6 Phy Prabab
2004-05-23 20:32 ` Linus Torvalds
2004-05-23 20:51   ` Jeff Garzik
2004-05-24  1:55     ` Linus Torvalds
2004-05-24  2:19       ` Jeff Garzik
2004-05-24  2:33         ` Wim Coekaerts
2004-05-31  9:51           ` Pavel Machek
2004-05-24  3:30         ` Martin J. Bligh
2004-06-01  5:52       ` Eric W. Biederman
2004-05-23 21:55   ` Phy Prabab
2004-05-24  7:05     ` Arjan van de Ven
2004-05-24  7:11       ` Phy Prabab
2004-05-24  7:24         ` Arjan van de Ven
2004-05-24  7:27           ` Phy Prabab
2004-05-24 12:01             ` Dave Jones
2004-05-24  2:39   ` William Lee Irwin III
2004-05-24  8:25   ` Ingo Molnar
2004-05-24 12:48     ` Andrea Arcangeli
2004-05-25 19:15       ` Rik van Riel
2004-05-25 19:41         ` Andrea Arcangeli
2004-05-25 19:50           ` Rik van Riel
2004-05-25 20:10             ` Rik van Riel
2004-05-25 21:15               ` Andrea Arcangeli
2004-05-26 10:33                 ` 4k stacks in 2.6 Ingo Molnar
2004-05-26 12:50                   ` Jörn Engel
2004-05-26 12:53                     ` Arjan van de Ven
2004-05-26 13:00                       ` Jörn Engel
2004-05-26 13:05                         ` Arjan van de Ven
2004-05-26 16:41                           ` Jörn Engel
2004-05-27 12:45                             ` Ingo Molnar
2004-05-27 13:59                               ` Andrea Arcangeli
2004-05-27 14:03                                 ` Arjan van de Ven
2004-05-27 14:42                                   ` Andrea Arcangeli
2004-06-02 19:40                                     ` Bill Davidsen
2004-05-27 14:18                                 ` Brian Gerst
2004-05-27 14:50                                   ` Andrea Arcangeli
2004-05-27 14:55                                     ` Linus Torvalds
2004-05-27 15:39                                       ` Andrea Arcangeli
2004-05-27 18:31                                       ` Guy Sotomayor
2004-05-27 19:26                                         ` Brian Gerst
2004-06-01  5:56                             ` 4k stacks in 2.6 [worst offenders] Jörn Engel
2004-06-01  6:02                               ` [RFC PATCH] explicitly mark recursion count Jörn Engel
2004-06-01 12:20                                 ` Pavel Machek
2004-06-01 13:27                                   ` Jörn Engel
2004-06-01 13:32                                     ` Pavel Machek
2004-06-01 13:37                                       ` Jörn Engel
2004-06-01 19:48                                         ` Horst von Brand
2004-06-01 19:29                                   ` Horst von Brand
2004-06-01 19:58                                     ` Linus Torvalds
2004-06-02 13:16                                       ` Jörn Engel
2004-06-02 14:15                                         ` Linus Torvalds
2004-06-02 14:27                                           ` Jörn Engel
2004-06-02 14:45                                             ` Linus Torvalds
2004-06-02 15:04                                               ` Jörn Engel
2004-06-02 15:12                                                 ` Linus Torvalds
2004-06-02 15:27                                                   ` Jörn Engel
2004-06-02 15:52                                                     ` Linus Torvalds
2004-06-02 16:17                                                       ` Jörn Engel
2004-06-02 16:25                                                         ` Linus Torvalds
2004-06-02 17:17                                                           ` Jörn Engel
2004-06-02 17:32                                                             ` Greg KH
2004-06-02 17:46                                                               ` Jörn Engel
2004-06-02 14:35                                           ` Davide Libenzi
2004-06-02 18:20                                             ` Jörn Engel
2004-06-02 18:37                                               ` Davide Libenzi
2004-06-02 18:58                                                 ` Jörn Engel
2004-06-02 19:33                                                   ` Valdis.Kletnieks
2004-06-02 19:37                                                   ` viro
2004-06-02 19:45                                                     ` Jörn Engel
2004-06-02 19:59                                                       ` viro
2004-06-03  6:55                                                         ` Jörn Engel
2004-06-02 19:55                                                     ` Valdis.Kletnieks
2004-06-02 23:20                                                   ` Davide Libenzi [this message]
2004-06-03  7:29                                                     ` Jörn Engel
2004-06-01 12:39                                 ` viro
2004-06-01 13:26                                   ` Jörn Engel
2004-06-07 18:14                         ` 4k stacks in 2.6 Timothy Miller
2004-06-08  6:26                           ` Arjan van de Ven
2004-06-08  8:45                             ` Jörn Engel
2004-05-26 18:12                     ` David S. Miller
2004-05-26 19:02                       ` Matt Mackall
2004-05-26 19:25                         ` Dave Jones
2004-05-25 21:16               ` 4g/4g for 2.6.6 Andrew Morton
2004-05-25 21:48                 ` Ingo Molnar
2004-05-25 22:09                   ` David S. Miller
2004-05-25 22:20                     ` Ingo Molnar
2004-05-25 23:10                       ` David S. Miller
2004-05-25 21:04             ` Bill Davidsen
2004-05-24  1:33 ` Martin J. Bligh
2004-05-24  1:38   ` Phy Prabab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.58.0406021458090.22742@bigblue.dev.mdolabs.com \
    --to=davidel@xmailserver.org \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=arjanv@redhat.com \
    --cc=joern@wohnheim.fh-wedel.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=pavel@suse.cz \
    --cc=riel@redhat.com \
    --cc=torvalds@osdl.org \
    --cc=vonbrand@inf.utfsm.cl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®