移植FIO benchmark至Android
来源:互联网 发布:乾隆知画嗯嗯 编辑:程序博客网 时间:2024/06/14 10:40
移植FIO至Android
FIO是在PC上常用来测IO performance的工具,本文尝试将其按Android平台编译
虽然FIO声明是支持Android但没有在README中说明如何对其进行编译,再加上在Android Platform上没有进行过足够的测试,所以移植起来稍有麻烦,所以在这记录下我的移植过程:
我用的OS是ubuntu12.04,FIO版本是2.1.3-18
首先是下载NDK,Google的标准交叉编译工具
1.下载Android-NDK
在http://developer.android.com/tools/sdk/ndk/index.html中下载android-ndk-r9b-linux-x86_64.tar.bz2
然后在Terminal中解压所下载的NDK
tar jxvf android-ndk-r0b-linux-x86_64.tar.bz2
在目录中使用如下命令
./android-ndk-r9b/build/tools/make-standalone-toolchain.sh --ndk-dir=/home/wenji/Android/android-ndk-r9b/ --system=linux-x86_64 --platform=android-9 --install-dir=/home/wenji/tools/NDK_ANDROID9
建立一个可以独立运行的交叉编译器并放入NDK_ANDROID9这个文件夹中
2.编译(需改源码中的一个函数)
在使用
make V=1 UNAME=Android cross_prefix=/home/wenji/tools/NDK_ANDROID9/bin/arm-linux-androideabi-
来进行编译时发现,因为engines/net.c中用了inet_network函数,而库中没有定义编译出错,比较了一下inet_network与inet_addr的区别,决定将其改为inet_addr再编译通过,以下为PATCH
From 86979699d45ca44b5b13cd22cf6a08c4479f28e0 Mon Sep 17 00:00:00 2001
From: Keenite <keenite@gmail.com>
Date: Thu, 7 Nov 2013 10:47:36 -0500
Subject: [PATCH] Modify inet_network for Android
Modify the inet_network to inet_addr in engines/net.c because the
toolchain of google didn't support it.
Signed-off-by: Keenite <keenite@gmail.com>
---
engines/net.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/engines/net.c b/engines/net.c
index 0c90e1c..9629b4f 100644
--- a/engines/net.c
+++ b/engines/net.c
@@ -188,12 +188,13 @@ static int poll_wait(struct thread_data *td, int fd, short events)
static int fio_netio_is_multicast(const char *mcaddr)
{
- in_addr_t addr = inet_network(mcaddr);
+// in_addr_t addr = inet_network(mcaddr);
+ in_addr_t addr = inet_addr(mcaddr);
if (addr == -1)
return 0;
- if (inet_network("224.0.0.0") <= addr &&
- inet_network("239.255.255.255") >= addr)
+ if (inet_addr("224.0.0.0") <= addr &&
+ inet_addr("239.255.255.255") >= addr)
return 1;
return 0;
--
1.7.9.5
另外,附FIO的message list,最新的修改信息和一些没说明的东西,在list里都有讨论
www.spinics.net/lists/fio/index.html#01336
Linux清空CACHE命令
#echo 3 > /proc/sys/vm/drop_caches
FIO 命令示例:
fio --blocksize=4k --numjob=1 --rw=write --direct=1 --iodepth=4 --size=2048m --name=seq_write
- 移植FIO benchmark至Android
- fio
- fio
- fio
- fio
- Android 设备benchmark 网站
- benchmark
- Benchmark
- benchmark
- Benchmark
- Benchmark Test On Android Devices
- 移植curl至android
- Android自动测试之benchmark test 简介
- fio使用指南
- fio使用指南
- fio测试
- fio使用
- fio使用指南
- linux kernel compile
- 谈谈我对3位同学跳槽的看法
- Java栈与堆 String 详解
- 异构平台轮询出现问题,错误代码:10912
- Python & C ACM 输入的获取
- 移植FIO benchmark至Android
- 黑马程序员_HashCode()方法的作用?以及在HashSet集合中的使用
- 跟踪导弹轨迹的向量计算
- 已知一按升序排好的包含有10个元素的数组,将某一整数插入到该数组中
- Mega2560
- Duff's Device
- [LeetCode] Binary Tree Maximum Path Sum
- 体系架构片
- UVA 10714 (13.11.07)