public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <dan@debian.org>
To: Larry McVoy <lm@work.bitmover.com>, linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] Re: [BK PATCH] USB changes for 2.5.34
Date: Sun, 15 Sep 2002 19:41:08 -0400	[thread overview]
Message-ID: <20020915234108.GA1348@nevyn.them.org> (raw)
In-Reply-To: <20020915162412.A17345@work.bitmover.com>

On Sun, Sep 15, 2002 at 04:24:12PM -0700, Larry McVoy wrote:
> On Sun, Sep 15, 2002 at 03:04:35PM -0400, Daniel Jacobowitz wrote:
> > Tracking this bug down took me about six hours.  Someone more familiar
> > with that particular segment of code could, I assume, have done it more
> > quickly.  One advantage of a debugger is that it's easier to look at
> 
> I'm not speaking for Linus, but I wouldn't be surprised we share the 
> same view on this one.  As someone who maintains a fairly large source
> base I get nervous when people tell me they need a debugger to work on
> the code.  Why?  Because if you really need that it is EXTREMELY likely
> that you don't understand the code.  If you don't understand the code
> then YOU SHOULDN'T BE CHANGING IT.  It is infuriating to have a section
> of tricky code that used to work, you turn your back, only to find that
> someone made a "simple change" which seems to work but actually makes
> things worse and invariably seems to break the code in a far more
> subtle way.  
> 
> My position is that you either understand the code or you don't.  Code
> that you don't understand is read only.  Having a debugger show you some
> variables isn't going to make you understand the code at the level which
> is required in order to be making changes.

That's a circular argument.  I use debuggers in order to understand
code _better_.  And to understand how code that I do know interacts
with code that I don't know.  I also rarely have the luxury of working in
source bases that I've got long intimate association with - about the
only code I can claim that for is GDB itself and it still surprises me.

Using a debugger I can pick up greatly improved understanding of what's
going on - both what is and what should be.  And what has changed in it
recently, since I was last familiar with it, which was the problem
here.

> Does this mean I'm against debuggers?  Not at all.  But in 15 years of
> doing kernel work and 5 years of doing BK work the only thing I've ever
> used one for was to get a few variables printed out.  And I've written
> a substantial chunk of a debugger years ago, it's not a question of lack
> of debugger knowledge.  I just rarely find them useful.  

Good for you; as I said, everyone operates differently.  The number of
printing/thinking/rebooting cycles involved for me to work with a
debugger is much shorter than without.

> > Plus, in my experience the work model that BitKeeper encourages puts a
> > significant penalty on including unrelated patches in the tree while
> > you're debugging.  It can be gotten around but it's exceptionally
> > awkward.  Adding in KGDB means time spent merging it into my tree and
> > time spend merging it cleanly out when I'm done with it.
> 
> Create a throwaway clone, merge in kdb, tag the tree with "baseline".
> Now hack away until you have a fix.  If you never checked anything in
> after the baseline then "bk -r diffs -u" creates the patch for your
> bugfix.  If you did, then diff against the baseline.
> 
> If BK is awkward by comparison to diff and patch, something is wrong, it
> definitely has the ability to make things far more pleasant than you
> seem to be experiencing.

Perhaps I (yet again) need to spend a day learning more about the
depths of BitKeeper.  The last time I did it all I found were BitKeeper
bugs, because the way I try to work with it appears to be contrary to
the way other people want to work with it.

I guess I just need to get more used to doing all of my development in
throwaway clones, and when it's absolutely perfect checking it into a
longer-lived tree via exporting a GNU patch and importing that.

The above model gets much more complicated when the development lasts
longer than a couple of hours, and you have to pull from another tree;
already, to upgrade my working trees I need to cascade three pulls -
with two sets of resolves if Ingo's been changing CLONE_ flags on me
again :)

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

  reply	other threads:[~2002-09-15 23:35 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-09 22:17 [BK PATCH] USB changes for 2.5.34 Greg KH
2002-09-10  0:17 ` Linus Torvalds
2002-09-10  0:19   ` Greg KH
2002-09-10  0:30     ` Linus Torvalds
2002-09-10  0:40       ` [linux-usb-devel] " Alan Cox
2002-09-10  1:41         ` Linus Torvalds
2002-09-10  1:48           ` Linus Torvalds
2002-09-10 10:23     ` Andries Brouwer
2002-09-10  0:35   ` Nicholas Miell
2002-09-10  1:01     ` [patch] dump_stack(): arch-neutral stack trace Andrew Morton
2002-09-15  4:34       ` Daniel Phillips
2002-09-15  4:51         ` Andrew Morton
2002-09-10  1:27     ` [BK PATCH] USB changes for 2.5.34 Linus Torvalds
2002-09-10  2:07   ` Matthew Dharm
2002-09-10  2:49     ` Linus Torvalds
2002-09-10  2:59       ` Linus Torvalds
2002-09-10 16:32       ` [linux-usb-devel] " David Brownell
2002-09-10 16:51         ` Linus Torvalds
2002-09-10 17:16           ` Jeff Garzik
2002-09-10 18:16             ` David S. Miller
2002-09-10 18:40               ` Linus Torvalds
2002-09-10 18:48                 ` Jeff Garzik
2002-09-10 19:31                 ` David S. Miller
2002-09-10 19:32                 ` Oliver Xymoron
2002-09-10 19:38                   ` Linus Torvalds
2002-09-10 19:43                     ` Jeff Garzik
2002-09-10 21:52                   ` Bill Davidsen
2002-09-10 22:02                     ` Jeff Garzik
2002-09-10 18:44           ` Alan Cox
2002-09-10 19:03             ` Linus Torvalds
2002-09-10 19:27               ` Rik van Riel
2002-09-10 20:18                 ` Alan Cox
2002-09-10 22:00                   ` David Woodhouse
2002-09-10 22:23                     ` Alan Cox
2002-09-10 22:26                       ` David Woodhouse
2002-09-10 23:01                         ` Alan Cox
2002-09-10 19:29               ` David S. Miller
2002-09-15  5:10               ` Daniel Phillips
2002-09-15  5:33                 ` Daniel Berlin
2002-09-15 16:41                   ` Daniel Phillips
2002-09-16  0:32                     ` Horst von Brand
2002-09-15  6:07                 ` Pete Zaitcev
2002-09-15  7:00                   ` Andrew Morton
2002-09-15 20:05                     ` David Woodhouse
2002-09-15 14:53                   ` Daniel Phillips
2002-09-15 18:23                     ` Pete Zaitcev
2002-09-15 18:34                       ` Jeff Garzik
2002-09-16  0:55                         ` Larry McVoy
2002-09-15 21:35                   ` Rob Landley
2002-09-16  3:00                     ` Larry McVoy
2002-09-16  3:08                       ` Daniel Phillips
2002-09-16 11:16                       ` Henning P. Schmiedehausen
2002-09-16 18:35                       ` Thunder from the hill
2002-09-16 18:45                         ` Daniel Phillips
2002-09-16 19:36                           ` Thunder from the hill
2002-09-16 19:40                             ` Daniel Phillips
2002-09-16  8:50                     ` Ian Molton
2002-09-16  9:37                       ` Rob Landley
2002-09-15 18:06                 ` Linus Torvalds
2002-09-15 18:36                   ` Roman Zippel
2002-09-15 19:04                   ` Daniel Jacobowitz
2002-09-15 19:43                     ` Andrew Morton
2002-09-15 19:43                       ` Daniel Phillips
2002-09-15 23:24                     ` Larry McVoy
2002-09-15 23:41                       ` Daniel Jacobowitz [this message]
2002-09-15 23:52                         ` Larry McVoy
2002-09-16  0:01                           ` Robert Love
2002-09-16  1:29                           ` Alan Cox
2002-09-16  2:13                             ` Larry McVoy
2002-09-16 11:05                               ` Henning P. Schmiedehausen
2002-09-16 14:05                               ` Rogier Wolff
2002-09-16 16:24                               ` Marco Colombo
2002-09-16  0:44                       ` Daniel Phillips
2002-09-16  1:23                       ` Alan Cox
2002-09-15 19:07                   ` Daniel Phillips
2002-09-16  9:06                     ` Jens Axboe
2002-09-16 14:14                       ` David Woodhouse
2002-09-16 14:53                         ` Jens Axboe
2002-09-16 15:15                       ` Daniel Phillips
2002-09-16 15:59                         ` kernel debuggers was [Re: [linux-usb-devel] Re: [BK PATCH] USB changes for 2.5.34] Soewono Effendi
2002-09-15 19:08                   ` [linux-usb-devel] Re: [BK PATCH] USB changes for 2.5.34 Linus Torvalds
2002-09-15 19:10                     ` Daniel Phillips
2002-09-15 19:26                       ` Linus Torvalds
2002-09-15 19:32                         ` Daniel Jacobowitz
2002-09-15 19:48                           ` Daniel Phillips
2002-09-16  4:59                             ` Jeff Dike
2002-09-16  4:05                               ` Daniel Phillips
2002-09-16  4:55                           ` Jeff Dike
2002-09-15 19:35                         ` Daniel Phillips
2002-09-16  4:51                       ` Jeff Dike
2002-09-16 15:29                     ` Oliver Xymoron
2002-09-18  0:33                   ` Rusty Russell
2002-09-18  0:46                     ` Linus Torvalds
2002-09-18  0:50                       ` Daniel Phillips
2002-09-18  1:16                         ` Rik van Riel
2002-09-15 13:54               ` Rogier Wolff
2002-09-15  5:01           ` Daniel Phillips
2002-09-10 16:46       ` Thunder from the hill
2002-09-10 16:56         ` Vojtech Pavlik

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=20020915234108.GA1348@nevyn.them.org \
    --to=dan@debian.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@work.bitmover.com \
    /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