FIO源码解读测试

在磁盘测试中,fio是最常用的测试的工具,其下载网址为https://github.com/axboe/fio;
对于fio,其测试命令有许多,这个大家很容易就可以查到,此处不讲解具体的测试命令,
而是讲一下大概的源码框架。


        Fio的入口函数在fio.c的main函数,其结构如下所示:


fio.c文件:

int main(int argc,char*argvO,char*envp0){
    if(initialize_fio(envp))        //libfio.c 文件————进行fio初始化,有64位对齐、大端小端模式、hash、文件锁等
        return 1;
    if(fio_server_create_sk_key())        // server.c文件-为线程创建私有数据TSD-
        goto done;
    if(parse_options(argc,argv))         // read-to-pipe-async 文件-解析main函数的参数
        goto done_key;
    fio_time_init();                     // 初始化时钟相关
    if(nr_clients){
        set_genesis_time();
    if(fio_start_all_clients())          // 与一些驱动进行远程连接操作,例如SPKD
        goto done_key;
    ret=fio_hanuie_clienis(&tio_cliei.t_ops);
    }else
        ret=fio_backend(NULL);           // backend.c 文件   fio 逻辑走向,开始处理问题
}


        fio_server_create_sk_key()函数是为线程创建私有数据,关于线程私有数据的概念可以参
考该链接-https://www.cnblogs.com/smarty/p/4046215.html;

接下来看一下fio_backend()函数——backend.c文件

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值