[ARM CPU cache命中率(proc驱动支持)]
SOC项目需要对系统性能进行评价,因此需要对CPU cache命中率进行统计,幸好ARM CPU够强大,通过在kernel proc下添加相关驱动,成功解决,具体如下:
添加proc下的cache命中率统计模块
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
extern const struct seq_operations cacheinfo_op;
static int cacheinfo_open(struct inode *inode, struct file *file)
{
return seq_open(file, &cacheinfo_op);
}
static const struct file_operations proc_cacheinfo_operations = {
.open = cacheinfo_open,
.read = seq_read,
.llseek = seq_lseek,
.release = seq_release,
};
static int __init proc_cacheinfo_init(void)
{
proc_create("cacheinfo", 0, NULL, &proc_cacheinfo_operations);
return 0;
}
module_init(proc_cacheinfo_init);
之后实现cacheinfo_op:
const struct seq_operations cacheinfo_op = {
.start = ca_start,
.next = ca_next,
.stop = ca_stop,