Cc: <linux-kernel@...>, Frank Ch. Eigler <fche@...>, Roland McGrath <roland@...>, Thomas Gleixner <tglx@...>, H. Peter Anvin <hpa@...>, Linus Torvalds <torvalds@...>, Andrew Morton <akpm@...>
i'm glad that there are no other valid-looking (to me) objections left
against kgdb-light -v10, other than "it would be nice to have more kgdb
functionality" and "it would be nice to rewrite the parser", right?
:-)
(It seems we do have a fundamental disagreement about how kgdb should
act: in my opinion it should never break a correct system, while in your
opinion apparently it's OK to compromise on that to make debugging
easier. (find below more detailed arguments about this.) If you do not
change your position about that issue we'll have to agree to disagree
about that point.)
So unless i forgot about something (please yell if so), it seems to me
kgdb is now pretty ready for an upstream merge.
here are my replies to the most recent points you brought up [in order
of how i perceive the topic's importance]:
* Andi Kleen <andi@firstfloor.org> wrote:
i gave you very specific technological reasons for why we dont want to
do spinning for now: we dont _ever_ want to break a correctly working
system with kgdb.
A valid counter-argument is _not_ to argue "but it would be nice to have
if the system is broken in X, Y and Z ways" (like you did), but to point
it out why the behavior we chose is wrong on a correctly working system.
Yes, a buggy system might misbehave in various ways but my primary
interest is in keeping correctly working systems correct.
And note that kgdb is not just a "debugger", it's a system inspection
tool. An intelligent, human-controlled printk. A kernel internals
learning tool. An extension to the kernel console concept. Yes, people
frequently use it for debugging too, but the other uses are actually
more important in the big picture than the debugging aspect.
but your contention is simply wrong. Most of our debugging
infrastructure is non-modular for a good reason. Modularization
increases complexity and that's exactly the wrong direction for
debugging code. (especially for a first-level merge like this one)
it's already commented in -v10 at several places.
it's not reimplemented - kgdb_arch_pc() does not directly map to
instruction_pointer().
that's already all taken out in -v10. (if you find any leftovers then
please cite the code where it isnt - thanks!)
that's the approach we are taking: be as unintrusive as possible. This
means that the notifier here is registered at the lowest priority. You
might disagree with it but it's a completely sensible and consistent
approach.
Ingo
--