On Thu, 02 May 2002 00:43:15 -0700,
Ethan Solomita <ethan@xxxxxxxxxxxxxxx> wrote:
> I should also say that I didn't tackle the issue of user breakpoints
>hitting into kdb, and thus slowing things down. With my changes, on
>i386, a user breakpoint is the same as a kdb breakpoint and so kdb will
>first be entered, and now it'll assemble all the CPUs before it decides
>that the breakpoint isn't a match. I guess this could be a nuisance for
>some users, but you can always turn kdb off (ie. set kdb_on to 0).
>Problem solved. If this is really critical to someone, we can deal with
>it, but no one has really argued for this.
Thanks for the rework, I will look at it over the weekend. However I
know that the kdb/gdb interaction on breakpoints is a problem, it is
why I rewrote that section. The original implementation entered kdb
and grabbed all cpus then found it was not a kdb breakpoint (i.e. user
space), then it released all cpus and continued with user space. Using
gdb on a machine with kdb active was horribly slow. We have to find a
way for kdb to quickly decide if the breakpoint is kdb or gdb.