From: Peter Zijlstra <peterz@infradead.org> To: Will Deacon <will.deacon@arm.com> Cc: Pratyush Anand <panand@redhat.com>, linux-arm-kernel@lists.infradead.org, mark.rutland@arm.com, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, huawei.libin@huawei.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2 1/4] hw_breakpoint: Add step_needed event attribute Date: Tue, 25 Jul 2017 16:14:23 +0200 [thread overview] Message-ID: <20170725141423.ufucj2wl35bdxafh@hirez.programming.kicks-ass.net> (raw) In-Reply-To: <20170725132737.GC28815@arm.com> On Tue, Jul 25, 2017 at 02:27:38PM +0100, Will Deacon wrote: > On Fri, Jul 07, 2017 at 05:33:57PM +0530, Pratyush Anand wrote: > > Architecture like ARM64 currently allows to use default hw breakpoint > > single step handler only to perf. However, some other users like few > > systemtap tests or kernel test in > > samples/hw_breakpoint/data_breakpoint.c can also work with default step > > handler implementation. At the same time, some other like GDB/ptrace may > > implement their own step handler. > > > > Therefore, this patch introduces a new perf_event_attr bit field, so > > that arch specific code(specially on arm64) can make a decision to > > enable single stepping. > > > > Any architecture which is not using this field will not have any > > side effect. > > diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h > > index b1c0b187acfe..00935808de0d 100644 > > --- a/include/uapi/linux/perf_event.h > > +++ b/include/uapi/linux/perf_event.h > > @@ -345,7 +345,8 @@ struct perf_event_attr { > > context_switch : 1, /* context switch data */ > > write_backward : 1, /* Write ring buffer from end to beginning */ > > namespaces : 1, /* include namespaces data */ > > - __reserved_1 : 35; > > + step_needed : 1, /* Use arch step handler */ > > + __reserved_1 : 34; > > This needs documenting properly, as I really have no idea how userspace is > going to use it sensibley, especially as you silently overwrite it in some > cases below. This is not something userspace _can_ use sensibly afaict. Therefore it should probably not live here.
WARNING: multiple messages have this Message-ID (diff)
From: peterz@infradead.org (Peter Zijlstra) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V2 1/4] hw_breakpoint: Add step_needed event attribute Date: Tue, 25 Jul 2017 16:14:23 +0200 [thread overview] Message-ID: <20170725141423.ufucj2wl35bdxafh@hirez.programming.kicks-ass.net> (raw) In-Reply-To: <20170725132737.GC28815@arm.com> On Tue, Jul 25, 2017 at 02:27:38PM +0100, Will Deacon wrote: > On Fri, Jul 07, 2017 at 05:33:57PM +0530, Pratyush Anand wrote: > > Architecture like ARM64 currently allows to use default hw breakpoint > > single step handler only to perf. However, some other users like few > > systemtap tests or kernel test in > > samples/hw_breakpoint/data_breakpoint.c can also work with default step > > handler implementation. At the same time, some other like GDB/ptrace may > > implement their own step handler. > > > > Therefore, this patch introduces a new perf_event_attr bit field, so > > that arch specific code(specially on arm64) can make a decision to > > enable single stepping. > > > > Any architecture which is not using this field will not have any > > side effect. > > diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h > > index b1c0b187acfe..00935808de0d 100644 > > --- a/include/uapi/linux/perf_event.h > > +++ b/include/uapi/linux/perf_event.h > > @@ -345,7 +345,8 @@ struct perf_event_attr { > > context_switch : 1, /* context switch data */ > > write_backward : 1, /* Write ring buffer from end to beginning */ > > namespaces : 1, /* include namespaces data */ > > - __reserved_1 : 35; > > + step_needed : 1, /* Use arch step handler */ > > + __reserved_1 : 34; > > This needs documenting properly, as I really have no idea how userspace is > going to use it sensibley, especially as you silently overwrite it in some > cases below. This is not something userspace _can_ use sensibly afaict. Therefore it should probably not live here.
next prev parent reply other threads:[~2017-07-25 14:14 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-07 12:03 [PATCH V2 0/4] ARM64: Fix irq generation between breakpoint and step exception Pratyush Anand 2017-07-07 12:03 ` Pratyush Anand 2017-07-07 12:03 ` [PATCH V2 1/4] hw_breakpoint: Add step_needed event attribute Pratyush Anand 2017-07-07 12:03 ` Pratyush Anand 2017-07-25 13:27 ` Will Deacon 2017-07-25 13:27 ` Will Deacon 2017-07-25 14:14 ` Peter Zijlstra [this message] 2017-07-25 14:14 ` Peter Zijlstra 2017-07-25 16:04 ` Mark Rutland 2017-07-25 16:04 ` Mark Rutland 2017-07-26 5:42 ` Pratyush Anand 2017-07-26 5:42 ` Pratyush Anand 2017-07-26 7:49 ` Peter Zijlstra 2017-07-26 7:49 ` Peter Zijlstra 2017-07-07 12:03 ` [PATCH V2 2/4] arm64: use hw_breakpoint_needs_single_step() to decide if step is needed Pratyush Anand 2017-07-07 12:03 ` Pratyush Anand 2017-07-07 12:03 ` [PATCH V2 3/4] hw-breakpoint: sample test: set step_needed bit field Pratyush Anand 2017-07-07 12:03 ` Pratyush Anand 2017-07-07 12:04 ` [PATCH V2 4/4] arm64: disable irq between breakpoint and step exception Pratyush Anand 2017-07-07 12:04 ` Pratyush Anand 2017-07-25 13:25 ` Will Deacon 2017-07-25 13:25 ` Will Deacon 2017-07-26 5:36 ` Pratyush Anand 2017-07-26 5:36 ` Pratyush Anand 2017-07-17 3:21 ` [PATCH V2 0/4] ARM64: Fix irq generation " Pratyush Anand 2017-07-17 3:21 ` Pratyush Anand
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170725141423.ufucj2wl35bdxafh@hirez.programming.kicks-ass.net \ --to=peterz@infradead.org \ --cc=acme@kernel.org \ --cc=alexander.shishkin@linux.intel.com \ --cc=huawei.libin@huawei.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mingo@redhat.com \ --cc=panand@redhat.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.