<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">So I think this is a great idea, and something we really need. NFS is bad for this sort of testing because a NFS glitch can cause a test to hang.  I think any transparent pretend filesystem solution is complicating things by interleaving the benchmark with the network file access.  Explicit rsync or scp are the way to go here.  A few questions:<div class=""><br class=""></div><div class="">1. How much slower is it?</div><div class="">2. How do you deal with tests where there are a bunch of tests in the same location? Shootout for example.</div><div class="">3. Why did you choose to use a device native timeit?</div><div class="">4. Do all the test currently pass?</div><div class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Aug 18, 2014, at 8:58 AM, Brian M. Rzycki <<a href="mailto:brzycki@gmail.com" class="">brzycki@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class="">Hi James,<br class=""></div>Thanks for the feedback. Yes I did look into sshfs and It's a great choice for devices running Linux distributions. Unfortunately some of our devices are Android based and have no plans for Linux support. I started examining cross-compiling libfuse for Android but ran into complications there due to the very limited nature of the device's root filesystem libraries, binaries, and compiled kernel options.<br class="">
<br class="">It was much simpler cross-compiling dropbear + scp for Android which lead to the relatively simple scp patch in RunSafely.sh.<br class=""><br class=""></div>I will take another stab at sshfs to see if there may be a way to get it working on Android with minimal pain.<br class="">
<br class=""></div><div class="">I'd be curious to know if others doing similar work rely mostly on NFS, SMB, sshfs or some other network filesystem to accomplish remote execution testing.<br class=""></div><div class=""><br class=""></div>-Brian<br class=""></div><div class="gmail_extra">
<br class=""><br class=""><div class="gmail_quote">On Sat, Aug 16, 2014 at 1:29 AM, James Courtier-Dutton <span dir="ltr" class=""><<a href="mailto:james.dutton@gmail.com" target="_blank" class="">james.dutton@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><p class="">On Aug 15, 2014 10:37 PM, "Brian M. Rzycki" <<a href="mailto:brzycki@gmail.com" target="_blank" class="">brzycki@gmail.com</a>> wrote:<br class="">
><br class="">
> Hello everyone,<br class="">
><br class="">
> I am working to run the LLVM Nightly Testsuite on embedded arm devices. Not all of these devices can mount NFS to share a common directory tree. To mitigate this I have patched test-suite/RunSafely.sh (attached) to create a temporary directory, run the test remotely, collect the output, and cleanup after itself. The patch breaks compatibility with the current remote device model in the following ways:<br class="">


><br class="">
> 1. uses scp/rcp to copy files from the host running test-suite instead of assuming an identical tree on the remote device.<br class="">
> 2. expects the remote device to have the mktemp command to create the temporary workspace (usually under /tmp/*)<br class="">
> 3. expects the remote device to have timeit installed in its path. If timeit were compiled statically I could scp the one passed into RunSafely.sh to the destination. Hosts with a different libc than the tested compiler (Android, embedded uClibc devices) cannot run the dynamically-linked timeit.<br class="">


> 4. It's a bit slower due to all the network copies for the entire test suite.<br class="">
><br class="">
> I'd appreciate feedback and suggestions as to how I can rework this model for inclusion upstream. I'm sure there are others out there that would find this kind of testing useful. I'm fine with a new remote-copy mode that can be passed in via lnt nt command line invocation.<br class="">


><br class="">
> I hope others find this useful.<br class="">
> -Brian</p>
</div></div><p class="">Have you tried sshfs.<br class="">
I does much the same as nfs mount but uses ssh instead.<br class="">
</p>
</blockquote></div><br class=""></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:LLVMdev@cs.uiuc.edu" class="">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" class="">http://llvm.cs.uiuc.edu</a><br class=""><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br class=""></div></blockquote></div><br class=""></div></div></div></body></html>