From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755438AbbIAMNT (ORCPT ); Tue, 1 Sep 2015 08:13:19 -0400 Received: from mga09.intel.com ([134.134.136.24]:11578 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751919AbbIAMNS (ORCPT ); Tue, 1 Sep 2015 08:13:18 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,448,1437462000"; d="scan'208";a="795766678" Message-ID: <55E595B5.7090407@intel.com> Date: Tue, 01 Sep 2015 15:10:29 +0300 From: Adrian Hunter Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: =?ISO-2022-JP?B?GyRCSj8+PjJtTCYbKEIgLyBISVJBTUFUVRskQiEkGyhCTUFTQU1J?= CC: "'Ingo Molnar'" , Arnaldo Carvalho de Melo , "linux-kernel@vger.kernel.org" , Jiri Olsa , Andy Lutomirski , Denys Vlasenko , Peter Zijlstra , Dave Hansen , Qiaowei Ren , "H. Peter Anvin" , Thomas Gleixner Subject: Re: [PATCH 0/4] x86/insn: perf tools: Add a few new x86 instructions References: <1441029522-20235-1-git-send-email-adrian.hunter@intel.com> <20150901085432.GE6315@gmail.com> <50399556C9727B4D88A595C8584AAB37524FF3EF@GSjpTKYDCembx32.service.hitachi.net> In-Reply-To: <50399556C9727B4D88A595C8584AAB37524FF3EF@GSjpTKYDCembx32.service.hitachi.net> Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/09/15 14:38, 平松雅巳 / HIRAMATU,MASAMI wrote: >> From: Ingo Molnar [mailto:mingo.kernel.org@gmail.com] On Behalf Of Ingo Molnar >> >> >> * Adrian Hunter wrote: >> >>> Hi >>> >>> perf tools has a copy of the x86 instruction decoder for decoding >>> Intel PT. [...] >> >> So that's the arch/x86/lib/insn.c instruction length decoder that the kernel uses >> for kprobes et al - and the two versions already forked slightly: >> >> -#include "inat.h" >> -#include "insn.h" >> +#include >> +#include >> >> it would be nice to add a diff check to the perf build, and (non-fatally) warn >> during the build if the two versions depart from each other? >> >> This will make sure the two versions are fully in sync in the long run as well. >> >> ( Alternatively we could perhaps also librarize it into tools/lib/, and teach the >> kernel build to pick that one up? ) > > Agreed, what I concern is that someone finds a bug and fixes one of them and > another is not fixed. > > I'll see the forked version and check if it can be merged into the kernel. Ever since Linus complained about perf tools including kernel headers, I have assumed we should have separate source code. That email thread was not cc'ed to a mailing list but here is a quote: Em Sat, Jul 04, 2015 at 08:53:46AM -0700, Linus Torvalds escreveu: > So this is more fundamental, and looks like it's just due to perf > abusing the kernel headers, and now that rbtree has rcu support > ("rbtree: Make lockless searches non-fatal"), it gets tons of headers > included that really don't work from user space. > > There might be other things going on, but the rbtree one seems to be a > big one. I think perf needs to get its own rbtree header or something, > instead of doing that insane "let's include random core kernel > headers" thing.