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_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Fri Mar 02 2012 - 17:51:34 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:24 UTC