On 06/27/2014 10:47 AM, Jens Axboe wrote: > On 2014-06-27 01:00, Frank D'Arcy wrote: >> Hi, >> I've been playing around with fio (which is really great thanks) >> with a view to testing hard disks on set-top boxes (which I don't have >> yet) >> and as prep for this I created a test environment consisting of >> 2 x virtual machines running 32-bit ubuntu (using "hashicorp/precise32" >> from vagrant cloud) >> running on a 64-bit machine with ubuntu 12.04. >> >> I started fio (v2.1.10) running in server mode on both virtual machines >> as follows >> $ fio --server=,8880 >> >> and launched 2 fio (v2.1.10) instances in client mode on the host 64-bit >> machine, >> $ fio --client=ip:127.0.0.1,8882 test.fio >> $ fio --client=ip:127.0.0.1,8881 test.fio >> where ports 8881 and 8882 are forwarded to port 8880 on each VM >> >> The sample test.fio (below) runs for 25 seconds >> but the values printed by the clients look garbled. >> eg. runtime is a huge number ("runt= 107374182400000msec") >> >> Same issue is seen when I switched to using latest fio from "git clone" >> and the same issue is seen with all output formats (json, terse, normal) >> >> I changed one of the virtual machines to 64-bit ubuntu (using >> "hashicorp/precise64" from vagrant cloud) >> and the client talking to the fio server on that VM gave the correct >> results (eg. "runt= 25001msec") >> while the client talking to the 32-bit ubuntu VM continued to show >> garbled values. >> >> So it looks like support is not there for client-server setups on >> non-matching architectures ? >> eg. 32-bit client to 64-bit server in this case, >> and perhaps endianess differences would be a problem too? ( but I >> haven't tried that ) >> >> Apologies if I've missed this issue raised elsewhere, I did a quick >> search and found no mention of it. >> It's not critical for us, as the simple workaround is to run fio >> standalone on each set-top box >> outputting results to a file and pulling the file back to a central >> machine for parsing. >> Just wanted to raise it if its unknown to you. > > Any mix of 32 vs 64-bit and big vs little endian should work, all the > data structures are sanitized across the wire. So if it doesn't work, > then that is surely a bug! I'll take a look at this. http://git.kernel.dk/?p=fio.git;a=commit;h=819db5f5009742975cfdd036440522bd45b86fe7 this should make it behave better. Let me know if there are still issues with 32 vs 64 bit client/server. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html