mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: Linus Torvalds <torvalds@osdl.org>
Cc: 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@vger.kernel.org, Greg KH <greg@kroah.com>
Subject: Re: [RFC PATCH] explicitly mark recursion count
Date: Wed, 2 Jun 2004 19:17:32 +0200	[thread overview]
Message-ID: <20040602171732.GA30427@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0406020921220.3403@ppc970.osdl.org>

On Wed, 2 June 2004 09:25:50 -0700, Linus Torvalds wrote:
> 
> Well, multiple recursion around the same function seems to be solvable two 
> different ways:
>  - "don't do that then". It really seems broken, but maybe there are 
>    really really good reasons _why_ it's not broken and why it happens.
>  - make sure that the separate loops are broken in some _other_ place than 
>    in the function they share.
> 
> A combination of the two may work well.
> 
> I say "may", because maybe I'm wrong, and the condition is common and hard
> to avoid limiting in the shared function. I don't have your data (and I'm
> lazy, so quite frankly I'd much rather you do the analysis anyway ;).

You *do* have my data, but I buy the lazy argument. ;)

> That said, I just don't see any sane alternatives to my "break in one
> place" thing. I believe that anything more complex that tries to explain
> the whole loop is just going to be a nightmare to maintain, and fragile as
> hell except for totally static legacy code that nobody touches any more.

Amen, brother.  Anything complicated will contain bugs tomorrow, if
not already today.

Let's see.  Right now, we have two cases of multiple recursions:
WARNING: multiple recursions around check_sig()
WARNING: multiple recursions around usb_audio_recurseunit()

check_sig() is bad code and can be cleaned up.

Leaves usb_audio_recurseunit() as the only function in question, that
one could actually be sane, although it looks rather interesting:
WARNING: trivial recursion detected:
       0  usb_audio_recurseunit
WARNING: recursion detected:
      16  usb_audio_selectorunit
       0  usb_audio_recurseunit
WARNING: multiple recursions around usb_audio_recurseunit()
WARNING: recursion detected:
       0  usb_audio_recurseunit
       0  usb_audio_processingunit

Greg, can you say whether this construct makes sense?

Jörn

-- 
Eighty percent of success is showing up.
-- Woody Allen

  reply	other threads:[~2004-06-02 17:18 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 [this message]
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
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=20040602171732.GA30427@wohnheim.fh-wedel.de \
    --to=joern@wohnheim.fh-wedel.de \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=arjanv@redhat.com \
    --cc=greg@kroah.com \
    --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®