Re: [patch 04/11] Introduce virtual debug register inthread_struct and wrapper-routines around process related functions

From: Ingo Molnar
Date: Tue Mar 10 2009 - 10:36:59 EST



* prasad@xxxxxxxxxxxxxxxxxx <prasad@xxxxxxxxxxxxxxxxxx> wrote:

> This patch introduces virtual debug registers to used by the
> per-thread structure ad wrapper routines to manage debug
> registers by process-related functions.

this is somewhat confusing. It would be much clearer to name it
'user debug registers'.

and why is this:

> @@ -427,13 +427,9 @@ struct thread_struct {
> unsigned long ip;
> unsigned long fs;
> unsigned long gs;
> - /* Hardware debugging registers: */
> - unsigned long debugreg0;
> - unsigned long debugreg1;
> - unsigned long debugreg2;
> - unsigned long debugreg3;
> - unsigned long debugreg6;
> - unsigned long debugreg7;
> + /* Hardware breakpoint info */
> + unsigned long vdr6;
> + struct thread_hw_breakpoint *hw_breakpoint_info;

detached from thread_struct? There's a lot of complications
(alloc/free, locking, etc.) from this for no good reason - the
hardware-breakpoints info structure is alway per thread and is
quite small, so there's no reason not to embedd it directly
inside thread_struct.

That way we get its allocation and freeing logic for free in
essence.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/