From mboxrd@z Thu Jan 1 00:00:00 1970 From: will.deacon@arm.com (Will Deacon) Date: Thu, 26 Jan 2017 16:52:12 +0000 Subject: [PATCH 2/2 v2] perf tools: Enable bpf prologue for arm64 In-Reply-To: <20170126104916.971478fa29083cf4ae14fac3@kernel.org> References: <20170124190908.GG10340@kernel.org> <20170125072311.22922-1-hekuang@huawei.com> <20170125133201.GC27026@arm.com> <20170126104916.971478fa29083cf4ae14fac3@kernel.org> Message-ID: <20170126165211.GK14167@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Jan 26, 2017 at 10:49:16AM +0900, Masami Hiramatsu wrote: > On Wed, 25 Jan 2017 13:32:01 +0000 > Will Deacon wrote: > > > On Wed, Jan 25, 2017 at 07:23:11AM +0000, He Kuang wrote: > > > Since HAVE_KPROBES can be enabled in arm64, this patch introduces > > > regs_query_register_offset() to convert register name to offset for > > > arm64, so the BPF prologue feature is ready to use. > > > > > > This patch also changes the 'dwarfnum' to 'offset' in register table, > > > so the related functions are consistent with x86. > > > > Wouldn't it be an awful lot simpler just to leave the code as-is, and > > implement regs_query_register_offset in the same way that we implement > > get_arch_regstr but return the dwarfnum? > > No, since the offset is not same as dwarfnum. > > With this style, the index of array becomes the dwarfnum (the index of > each register defined by DWARF) and the "offset" member means the > byte-offset of the register in (user_)pt_regs. Those should be different. Ok, then do it as two patches then, rather than introduce functionality along with the renaming. > > I don't really see the point of all the refactoring. > > Also, from the maintenance point of view, this rewrite work makes > the code simply similar to x86 implementation, that will be easier to > maintain :) Right, apart from the two howling bugs in the version that was nearly merged initially :p. I tend to err on the "if it ain't broke, don't fix it" side of the argument but if you really want the refactoring lets keep it as a separate change. Will From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753988AbdAZRCu (ORCPT ); Thu, 26 Jan 2017 12:02:50 -0500 Received: from foss.arm.com ([217.140.101.70]:35748 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752479AbdAZRCs (ORCPT ); Thu, 26 Jan 2017 12:02:48 -0500 Date: Thu, 26 Jan 2017 16:52:12 +0000 From: Will Deacon To: Masami Hiramatsu Cc: He Kuang , peterz@infradead.org, mingo@redhat.com, acme@kernel.org, alexander.shishkin@linux.intel.com, jolsa@redhat.com, wangnan0@huawei.com, bintian.wang@huawei.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 2/2 v2] perf tools: Enable bpf prologue for arm64 Message-ID: <20170126165211.GK14167@arm.com> References: <20170124190908.GG10340@kernel.org> <20170125072311.22922-1-hekuang@huawei.com> <20170125133201.GC27026@arm.com> <20170126104916.971478fa29083cf4ae14fac3@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170126104916.971478fa29083cf4ae14fac3@kernel.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 26, 2017 at 10:49:16AM +0900, Masami Hiramatsu wrote: > On Wed, 25 Jan 2017 13:32:01 +0000 > Will Deacon wrote: > > > On Wed, Jan 25, 2017 at 07:23:11AM +0000, He Kuang wrote: > > > Since HAVE_KPROBES can be enabled in arm64, this patch introduces > > > regs_query_register_offset() to convert register name to offset for > > > arm64, so the BPF prologue feature is ready to use. > > > > > > This patch also changes the 'dwarfnum' to 'offset' in register table, > > > so the related functions are consistent with x86. > > > > Wouldn't it be an awful lot simpler just to leave the code as-is, and > > implement regs_query_register_offset in the same way that we implement > > get_arch_regstr but return the dwarfnum? > > No, since the offset is not same as dwarfnum. > > With this style, the index of array becomes the dwarfnum (the index of > each register defined by DWARF) and the "offset" member means the > byte-offset of the register in (user_)pt_regs. Those should be different. Ok, then do it as two patches then, rather than introduce functionality along with the renaming. > > I don't really see the point of all the refactoring. > > Also, from the maintenance point of view, this rewrite work makes > the code simply similar to x86 implementation, that will be easier to > maintain :) Right, apart from the two howling bugs in the version that was nearly merged initially :p. I tend to err on the "if it ain't broke, don't fix it" side of the argument but if you really want the refactoring lets keep it as a separate change. Will