Received: by 10.213.65.68 with SMTP id h4csp1481565imn; Thu, 15 Mar 2018 00:20:06 -0700 (PDT) X-Google-Smtp-Source: AG47ELsC3ASbw3bjT2qKzeN5dQfK55ywgP4dfajx1w45AlrBPRo03Mq6tGAxlBTuc6O+Xy4/0ZjZ X-Received: by 10.98.222.65 with SMTP id h62mr1253745pfg.134.1521098406144; Thu, 15 Mar 2018 00:20:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521098406; cv=none; d=google.com; s=arc-20160816; b=kRzU9Z/X+Rl7ag9Z4sGFlbyDounJBd4krSa3ybr9opxXFGRd2r/fnnX4plIgC2R3Ds 7h+rnZOZeF/Mu9ReR6OGzuc/KlRmYSNehzMq/t6zLmkg0OUFlOgRjBlLxJ/Fm8iW7uva nzJDJg4MGY/9T690713q1Ry7z1JTBYKljrwBrUInl+nNRSyJlk1iG86rxpwLuul0RC0N qKyFkGeHD6TsEEibVaaKzVneafSdG/Ut6oPDyvn5VuIZ6Rd2S280PhPHDHj2vHtfHdgi nmLiwOT1GqBtynFpBP+jAulFrPjiAx2eTgk06LjFhS1DUffQxob+jadA2l1HyIdgSHW0 ye7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dmarc-filter:arc-authentication-results; bh=cnAOyJntKelQ7suf22AJMvB+UQn+kcR2brPb0pH8QKI=; b=asReWz1i0x/OPa4eKXh/EXsPvc/8tb+JvmCSTe3ZFzbKpcGsGjLdPqkhEpQVXwtqz+ S6fnqf1WYTHAH5l07ZWz17Ymhx5sqYM+9LcB+psZvkSfH4h3cUGwpV81WotAuTZZ8/cT qjPPUs84JzNdXvubghxVnyyai0qDh5Aw2Bkl46lJcYqze9P1elD7zaTZNfJoJV7uFAOZ Iw05xkE+lTEkyZM9PPeWQwOfTDnG3Knz5el2xTlejflZjWosSwKFFT44xe3yegqxu3qI 2pclIa8irs3H/4Ds+1RRGyxry+RMlUcaJll8EHX2bJaGMFtoZXMz6jiDKH9708NQzpgw jOPA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w123si3410225pfd.14.2018.03.15.00.19.52; Thu, 15 Mar 2018 00:20:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751837AbeCOHSq (ORCPT + 99 others); Thu, 15 Mar 2018 03:18:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:51648 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750722AbeCOHSo (ORCPT ); Thu, 15 Mar 2018 03:18:44 -0400 Received: from devbox (NE2965lan1.rev.em-net.ne.jp [210.141.244.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5214320779; Thu, 15 Mar 2018 07:18:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5214320779 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=mhiramat@kernel.org Date: Thu, 15 Mar 2018 16:18:40 +0900 From: Masami Hiramatsu To: Ravi Bangoria Cc: Steven Rostedt , linux-kernel@vger.kernel.org, Ingo Molnar , Namhyung Kim , Tom Zanussi , Arnaldo Carvalho de Melo , linux-trace-users@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org Subject: Re: [PATCH v5 16/19] tracing: probeevent: Add array type support Message-Id: <20180315161840.71d524a73307881febfe34c2@kernel.org> In-Reply-To: <72be81a4-710a-b942-277d-9156c3debc5d@linux.vnet.ibm.com> References: <152049860385.7289.14079393589900496424.stgit@devbox> <152049905133.7289.17516121776689315422.stgit@devbox> <72be81a4-710a-b942-277d-9156c3debc5d@linux.vnet.ibm.com> X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 15 Mar 2018 11:18:19 +0530 Ravi Bangoria wrote: > Hi Masami, > > On 03/08/2018 02:20 PM, Masami Hiramatsu wrote: > > Add array type support for probe events. > > This allows user to get arraied types from memory address. > > The array type syntax is > > > > TYPE[N] > > > > Where TYPE is one of types (u8/16/32/64,s8/16/32/64, > > x8/16/32/64, symbol, string) and N is a fixed value less > > than 64. > > > > The string array type is a bit different from other types. For > > other base types, [1] is equal to > > (e.g. +0(%di):x32[1] is same as +0(%di):x32.) But string[1] is not > > equal to string. The string type itself represents "char array", > > but string array type represents "char * array". So, for example, > > +0(%di):string[1] is equal to +0(+0(%di)):string. > > I was trying to test this patch. But I'm not getting proper data. > Here is what I'm doing... > > $ cat hello.c > #include > > void foo1(int a[]) > { >     printf("%d\n", a[2]); > } > > void foo(int a[]) > { >     printf("%d\n", a[1]); >     foo1(a); > } > > void main() > { >     int a[3] = {4, 5, 6}; >     printf("%d\n", a[0]); >     foo(a); > } > > $ gcc -g hello.c -o hello > $ sudo ./perf probe -x ~/hello foo1 'a=a:x32[3]' > $ sudo cat /sys/kernel/debug/tracing/uprobe_events > p:probe_hello/foo1 /home/ravi/hello:0x00000000000005fc a=+96(%gpr31):x32[3] > > $ sudo ./perf record -e probe_hello:foo1 ~/hello > $ sudo ./perf script > hello  6913 [038]  2857.704470: probe_hello:foo1: (100005fc) a={0xd69e4400,0x7fff,0x0} > > > I don't see proper values of the 'a'? Anything wrong with my perf commands :) ? Ah, I guess since it is a pointer. in main() function, "a" is an array, but in foo1(), "a" is a pointer to the array. From the viewpoint of C source code, both pointer and array is same expression, but actually it is not same from memory point of view. perf probe has to be updated to enable it too. Could you please try to do as below? $ echo "p:probe_hello/foo1 /home/ravi/hello:0x00000000000005fc a=+0(+96(%gpr31)):x32[3]" | sudo tee /sys/kernel/debug/tracing/uprobe_events and trace it again. -- Masami Hiramatsu