mmc io 性能测试工具(一)--kernel log的取出和筛选

本文介绍了参与mmc io性能测试工具的开发过程,特别是关于内核日志的获取和筛选。通过klogctl调用处理内核环形缓冲区,关注包含特定错误关键字的日志,如ENOMEDIUM、ETIMEDOUT等,来识别mmc设备的坏块问题。文章详细阐述了内核日志的控制命令和错误信息的分析方法。
摘要由CSDN通过智能技术生成

最近,正在参与一个mmc io 性能测试工具的编写,我的部分是进行一个log filter的工作,菜鸟入门,边学边写边记录。

要实现mmc io的性能测试功能,需要实现主要的两个模块:

  • mmc block 的读写操作,包括顺序读写,随机读写,大数据读写等等

  • 获取kernel log,并筛选出坏块信息,并判断出是否出现坏块

 先从第二个模块开始:

1.关于kernel log

    Quoting from kernel/printk.c:

        /*
        * Commands to sys_syslog:
        *
        *      0 -- Close the log.  Currently a NOP.
        *      1 -- Open the log. Currently a NOP.
        *      2 -- Read from the log.
        *      3 -- Read all messages remaining in the ring buffer.
        *      4 -- Read and clear all messages remaining in the ring buffer
        *      5 -- Clear ring buffer.
        *      6 -- Disable printk to console
        *      7 -- Enable printk to console
        *      8 -- Set level of messages printed to console
        *      9 -- Return number of unread characters in the log buffer
        *     10 -- Return size of the log buffer
        */

    Kernel has a cyclic buffer of length LOG_BUF_LEN in which  messages given  as arguments to the kernel function printk() are stored (regard‐less of their loglevel).  In early kernels, LOG_BUF_LEN had  the  value 4096;  from  kernel  1.3.54,  it  was  8192; from kernel 2.1.113 it was 16384; since 2.4.23/2.6 the value is a kernel configuration option.  In recent kernels the size can be queried with command type.

   

    要获取内核日志,可以通过 klogctl 调用来控制和读取内核环形缓冲区。在用户空间中,Klogctl 的原型函数定义为:

  int klogctl( int typ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值