Re: [PATCH 09/13] Move bp_type_idx to kernel/event/hw_breakpoint.c

Peter Zijlstra
2015-09-15T08:06:31Z

On Mon, Sep 14, 2015 at 03:50:43PM -0700, Palmer Dabbelt wrote:
> This has a "#ifdef CONFIG_*" that used to be exposed to userspace.
>
> The names in here are so generic that I don't think it's a good idea
> to expose them to userspace (or even the rest of the kernel). Since
> there's only one kernel user, it's been moved to that file.
>
> Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
> Reviewed-by: Andrew Waterman <waterman@eecs.berkeley.edu>
> Reviewed-by: Albert Ou <aou@eecs.berkeley.edu>
> ---
> include/uapi/linux/hw_breakpoint.h | 10 ----------
> kernel/events/hw_breakpoint.c | 10 ++++++++++
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/include/uapi/linux/hw_breakpoint.h b/include/uapi/linux/hw_breakpoint.h
> index b04000a2296a..7a6a5a7f9511 100644
> --- a/include/uapi/linux/hw_breakpoint.h
> +++ b/include/uapi/linux/hw_breakpoint.h
> @@ -17,14 +17,4 @@ enum {
> HW_BREAKPOINT_INVALID = HW_BREAKPOINT_RW | HW_BREAKPOINT_X,
> };
>
> -enum bp_type_idx {
> - TYPE_INST = 0,
> -#ifdef CONFIG_HAVE_MIXED_BREAKPOINTS_REGS
> - TYPE_DATA = 0,
> -#else
> - TYPE_DATA = 1,
> -#endif
> - TYPE_MAX
> -};

This is rather unfortunate; you are correct that the naming is too
generic (and I tend to agree), but I think these values are required by
userspace to fill out:

perf_event_attr::bp_type

So removing them will break things.

Frederic?