From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4018 invoked by alias); 24 Oct 2013 13:49:49 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 4006 invoked by uid 89); 24 Oct 2013 13:49:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 24 Oct 2013 13:49:47 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r9ODnfTb007338 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 24 Oct 2013 09:49:42 -0400 Received: from [10.13.129.104] (dhcp129-104.rdu.redhat.com [10.13.129.104] (may be forged)) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r9ODneHY008799; Thu, 24 Oct 2013 09:49:41 -0400 Message-ID: <52692574.1020101@redhat.com> Date: Thu, 24 Oct 2013 13:49:00 -0000 From: William Cohen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Sandeepa Prabhu CC: Masami Hiramatsu , systemtap@sourceware.org, Deepak Saxena , Krishna Dani , Jakub Pavelek Subject: Re: Regarding systemtap support for AArch64 References: <1380011243.3958.11921.camel@bordewijk.wildebeest.org> <52432F3B.4020503@redhat.com> <5248E391.3060306@hitachi.com> <52496A50.9090904@redhat.com> <52687CDC.3010108@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2013-q4/txt/msg00096.txt.bz2 On 10/24/2013 12:19 AM, Sandeepa Prabhu wrote: > On 24 October 2013 07:20, William Cohen wrote: >> On 10/02/2013 12:17 AM, Sandeepa Prabhu wrote: >>> Hi all, >>> >>> I have uploaded ARM64 kprobes work on Linaro public git: >>> git://git.linaro.org/people/sandeepa.prabhu/linux-aarch64.git Branch: >>> kprobes_devel_v8. Patches are published on LAKML too. This is based >>> on v8 upstream kernel (3.12-rc1) right now, and works with linaro >>> boot-wrapper and fast model setup, though, not sure what it takes to >>> build for fedora. >>> >>> Will, >>> >>> Is aarch64 fc19 port public? I am interested in using fc on v8 fast >>> model, are there instructions about how to get the packages and >>> build/run them? >>> >>> Thanks, >>> Sandeepa >> >> Hi Sandeepa, >> >> I finally got a locally built aarch64 kernel with the kprobe patches >> built and running on the simulator. The SystemTap tapsets.cxx needed to be >> patched to understand the aarch64 (the attached patch). With that patch the >> SystemTap Beginner's guide smoke test example showed signs of life! >> However, it took minutes for it to compile and run. >> >> [wcohen@localhost systemtap]$ sudo ../install/bin/stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}' >> [sudo] password for wcohen: >> Pass 1: parsed user script and 92 library script(s) using 140528virt/24952res/2744shr/22868data kb, in 4740usr/160sys/5319real ms. >> Pass 2: analyzed script: 1 probe(s), 1 function(s), 3 embed(s), 0 global(s) using 326804virt/106856res/3568shr/103752data kb, in 33860usr/14520sys/52942real ms. >> Pass 3: translated to C into "/tmp/stap6Cbu2d/stap_3a0ef010f6cdfb2bdc3cac691a0f3c0e_1393_src.c" using 326804virt/109236res/5948shr/103752data kb, in 120usr/30sys/163real ms. >> Pass 4: compiled C into "stap_3a0ef010f6cdfb2bdc3cac691a0f3c0e_1393.ko" in 117620usr/10440sys/141829real ms. >> Pass 5: starting run. >> read performed >> Pass 5: run completed in 100usr/90sys/573real ms. > Hi Will, > > Great to know this!, Thanks for the patch. Hope you have taken v2 > version of kprobe patches, found here: > https://git.linaro.org/gitweb?p=people/sandeepa.prabhu/linux-aarch64.git;a=shortlog;h=refs/heads/arm64-kprobes-v2 > v2 is cleaner, and implements recursive kprobes (like probing printk) > and also few fixes in missed-kprobe handling. > So, do you think we can measure kprobes performance running on v8 fast > models (slow model though :))? the milliseconds it shows for > completion will be accurate only if have real hardware right? > > From this weekend thru next week, we are mostly under travel to Linaro > connect @Santa Clara, so may not spend more time on this, but we would > like to start validating the kprobes using systemtap and may get more > hands within Linaro to work with systemtap community. If anyone is > attending LCU this time, ping me and we can meet. > > Cheers, > Sandeepa Hi Sandeepa, The run above was with the old armv8 kprobes patches. I just switched my kernel sources to the arm64-kprobes-v2 branch this morning and building a new kernel. It is building with the minimal modules needed for the armv8 simulator, but it will take a while because I am building it on the armv8 simulator, so that all the kernel-devel support is available for systemtap. The fedora 19 image I am using uses uefi to boot up. There are additional patches that I needed to pull in from https://github.com/mosalter/linux the armv8-uefi-latest branch to make a kernel that boot on uefi. It does appear to be able to read parameter values, but the $return isn't available: [wcohen@localhost systemtap]$ sudo ../install/bin/stap -v -e 'probe vfs.read {printf("read performed %s\n", $$parms$); exit()}' Pass 1: parsed user script and 92 library script(s) using 140532virt/24956res/2744shr/22872data kb, in 4790usr/110sys/5315real ms. Pass 2: analyzed script: 1 probe(s), 21 function(s), 3 embed(s), 0 global(s) using 326840virt/106908res/3580shr/103788data kb, in 34110usr/8180sys/45930real ms. Pass 3: translated to C into "/tmp/stapso4oWX/stap_165197dc0524f0f70a7a3b68cb1cb26f_12311_src.c" using 326840virt/109304res/5976shr/103788data kb, in 180usr/10sys/200real ms. Pass 4: compiled C into "stap_165197dc0524f0f70a7a3b68cb1cb26f_12311.ko" in 49890usr/3230sys/58657real ms. Pass 5: starting run. read performed file={.f_u={...}, .f_path={...}, .f_inode=0xffffffc04f5ff600, .f_op=0xffffffbffc0c05b8, .f_lock={...}, .f_sb_list_cpu=0, .f_count={...}, .f_flags=133122, .f_mode=31, .f_pos=0, .f_owner={...}, .f_cred=0xffffffc05113d9c0, .f_ra={...}, .f_version=0, .f_security=0xffffffc051158900, .private_data=0x0, .f_ep_links={...}, .f_tfile_llink={...}, .f_mapping=0xffffffc04f5ff750} buf="" count=8196 pos=-273515643216 Pass 5: run completed in 120usr/70sys/508real ms. However, $return doesn't work: [wcohen@localhost systemtap]$ sudo ../install/bin/stap -v -e 'probe vfs.read.return {printf("read performed %d\n", $return); exit()}' [sudo] password for wcohen: Pass 1: parsed user script and 92 library script(s) using 140532virt/24956res/2744shr/22872data kb, in 4830usr/70sys/5316real ms. semantic error: failed to retrieve return value location for vfs_read [man error::dwarf] (fs/read_write.c): identifier '$return' at :1:54 source: probe vfs.read.return {printf("read performed %d\n", $return); exit()} ^ Pass 2: analyzed script: 2 probe(s), 6 function(s), 6 embed(s), 0 global(s) using 326832virt/106912res/3584shr/103780data kb, in 34190usr/8060sys/45880real ms. Pass 2: analysis failed. [man error::pass2] -Will > >> [wcohen@localhost systemtap]$ uname -a >> Linux localhost 3.12.0-rc5+ #3 SMP Wed Oct 23 15:03:27 EDT 2013 aarch64 aarch64 aarch64 GNU/Linux >> >> -Will