Re: BitKeeper repo for KGDB

Tom Rini
2004-02-09T15:50:20Z

On Sun, Feb 08, 2004 at 07:29:51PM -0600, Matt Mackall wrote:
> On Fri, Feb 06, 2004 at 04:02:54PM -0700, Tom Rini wrote:
> > On Fri, Feb 06, 2004 at 11:55:35PM +0100, Pavel Machek wrote:
> > > Hi!
> > >
> > > > > > It's against 2.6 + -netpoll + Amit's patch.
> > > > >
> > > > > But doesn't -mm have a kgdb over enet driver that does work? It's just
> > > > > not been ported to Amit's bits, right?
> > > >
> > > > OK. Based on this, and some other fixes, I've pushed my first cut of
> > > > KGDB over ethernet. It's not quite as robust as I'd like right now (I'm
> > > > still getting it just-right for connecting live), and I've got some not
> > > > quite finished improvements still locally, but it does work.
> > >
> > > Is there way to get plain diff (against -mm or against Amit or
> > > something?)
> >
> > I'll post a diff against -mm next week when I'm a bit happier with it,
> > but the following is against Amit's version + your patch to port it to
> > netpoll:
>
> > if (!netpoll_trap() && len == 8 && !strncmp(msg, "$Hc-1#09", 8))
> > - printk(KERN_CRIT "Someone is trying to attach\n");
> > -// kgdb_schedule_breakpoint();
> > + breakpoint();
> >
> > for (i = 0; i < len; i++) {
> > - if (msg[i] == 3) /* Check for ^C? */
> > - printk(KERN_CRIT "Someone is trying to ^C?\n");
> > -// kgdb_schedule_breakpoint();
> > + if (msg[i] == 3)
> > + breakpoint();
>
> The kgdb_schedule_breakpoint stuff in -mm didn't just appear to make
> things more complicated, it is in fact necessary. You cannot
> reasonably expect to break deep inside the network stack IRQ handler
> and then send more packets out the same interface. Expect especially
> nasty results on SMP. It only works for the serial case because that
> path is a priori known to be lockless.

Ah, hmm... I don't suppose there's any way to do this w/o touching
every arch's do_IRQ, is there?

--
Tom Rini