x86: Allow disabling HW_BREAKPOINTS, PERF_EVENTS, INSTRUCTION_DECODER, IRQ_WORK

Make HW_BREAKPOINTS a config option. HW_BREAKPOINTS depends on perf.
This allows disabling PERF_EVENTS for systems that don't need it (e.g.
anything not used for development)  This then allows disabling IRQ_WORK
and INSTRUCTION_DECODER.

This change reduces the size of allnoconfig by 161k, a full 7.6%
reduction:
   text	   data	    bss	    dec	    hex	filename
 788816	 131952	1214432	2135200	 2094a0	vmlinux-allnoconfig-with-perf
 666361	  93020	1214368	1973749	 1e1df5	vmlinux-allnoconfig-no-perf

bloat-o-meter summary:
add/remove: 1/1040 grow/shrink: 1/25 up/down: 82/-152214 (-152132)

Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
[josh: Rebased; HW_BREAKPOINTS marked as EXPERT; commit message updated
       with new statistics.]
Signed-off-by: Josh Triplett <josh@joshtriplett.org>
3 files changed