From owner-freebsd-current@FreeBSD.ORG Fri Mar 2 18:51:34 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 172E51065675; Fri, 2 Mar 2012 18:51:34 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id C6BA48FC19; Fri, 2 Mar 2012 18:51:33 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 71D8246B0A; Fri, 2 Mar 2012 13:51:33 -0500 (EST) Date: Fri, 2 Mar 2012 18:51:33 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Oleksandr Tymoshenko In-Reply-To: <4F4FEEFC.5060902@freebsd.org> Message-ID: References: <4F4FEEFC.5060902@freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-current@freebsd.org, "freebsd-mips@freebsd.org" Subject: Re: DTrace/MIPS port X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Mar 2012 18:51:34 -0000 On Thu, 1 Mar 2012, Oleksandr Tymoshenko wrote: > Last few weeks I've been working on DTrace port for MIPS architecture. I > believe that project reached the stage when it's ready for public > review/testing before going into the tree. > > Patch and some information could be found here: > http://people.freebsd.org/~gonzo/mips/dtrace/ > > I'd appreciate review/testing from interested parties and if there are no > major roadblocks the plan is to commit this patch sometime next week. > > DTrace/MIPS passes substantial part of DTrace suite on my Octeon-based > board. This is great news -- I probably won't be in a position to test or contribute usefully for a couple more months, but will endeavour to do so once our port to CHERI MIPS is a bit further along! Robert > > ==== TEST RESULTS ==== > > mode: /usr/sbin/dtrace > passed: 853 > failed: 74 > total: 927 > > There are some caveats/limitations though: > > - fbt, pid, lockstat, profile providers are not implemented > > - MIPS passes function arguments in registers and unless they're > saved on stack the value of some might be unavailable in > backtrace. So values of argN variables might be bogus sometimes. > > - dtrace uses kldstat(2) to get path to kernel binary and for > "embedded" systems (e.g. without loader(8)) it's just "kernel" > So kernel binary should be in current directory so dtrace could > get CTF data from it. We need either command-line switch or env > variable to let dtrace know where to look for binary. I haven't > yet decided which way to go. > > - Not really dtrace issue, but somewhat related. FreeBSD/MIPS default > kernel stacks size seems to be insufficient to load kernel > modules with dependency chain longer then three modules > (dtrace_test -> dtrace_all -> dtrace -> cyclic -> opensolaris) > Sometimes I get kernel stack exhaustion as a combination of > FS-related calls that goes down to NFS functions + WITNESS code. > No proper solution for it yet. Workaround - load module one by > one. > > - Tested only on mips64be platform. mips32be, mips32le, mips64le > were not tested. > > Patches: > > dtrace-all.diff - is a cumulative patch that contains diff between > HEAD branch and project branch in p4. In order to make code review > easier I split it into several sub-patches based on functionality area. > > dtrace-ctf.diff > Current version of ctfmerge assumes that target byte order is the > same as host one. This patch checks byte order of ELF files being > used to decide whether byte order in CTF structures' fields > should be reversed. > > dtrace-toolchain.diff > - Disable SGI compatibility for generated DWARF data. > It confuses ctfconvert. > - Set as(1) default ABI and target size the same as target platform > > dtrace-sys.diff > - Kernel part of DTrace code > - More intelligent kernel stack overflow handler > > dtrace-userland.diff > - Userland part of DTrace code > - Build DTrace tols as a part of toolchain build if > we're cross-compiling > - Various libraries' plugs for MIPS > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >