小编Rah*_*eel的帖子

Jiffies - 如何计算秒数?

我有一段代码,我想以秒计算时间..虽然我在jiffies中得到时间,我怎么能在几秒钟内转换它?

这是我的内核代码:

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
#include <linux/timer.h>
unsigned long js, je, tet;
int netblock_init_module(void){
    js = jiffies;
    printk("\n[Jiffies start Time : %lu]\nModule Started.\n", js);
    return 0;
}

void netblock_cleanup_module(void) {
    je = jiffies;
    printk("\n[Jiffies End Time : %lu]\nModule Removed.\n", je);
    tet = je - js;
    printk("\nEnd Time [%lu] - Start Time [%lu]: \nTotlal elapsed Time [%lu]\n",js,je, tet);

}

module_init(netblock_init_module);
module_exit(netblock_cleanup_module);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("JIFFIES EXAMPLE");
MODULE_AUTHOR("RAHEEL");
Run Code Online (Sandbox Code Playgroud)

我得到的输出就像这样:

$ insmod jiffexample.ko

[Jiffies开始时间:13363583]

模块开始

$ rmmod jiffexample.ko

[Jiffies结束时间:13361588]

模块已删除.

结束时间13361588 - …

c performance time kernel linux-kernel

3
推荐指数
2
解决办法
2万
查看次数

copy_from_user() 的任何例子?内核和用户空间

我正在寻找将 PID 值从用户空间复制到内核空间,这是我的代码快照。

内核模块:

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/siginfo.h>
#include <linux/rcupdate.h>
#include <linux/sched.h>
#include <linux/uaccess.h>
#include <linux/signal.h>

MODULE_LICENSE ("GPL");

struct siginfo sinfo;
pid_t pid;
struct task_struct *task;

int init_module() 
{
    memset(&sinfo, 0, sizeof(struct siginfo));
    sinfo.si_signo = SIGIO;
    sinfo.si_code = SI_USER;
    pid = 5218; // Everytime a new PID 
    // task = find_task_by_vpid(pid); I am also working on new and old version of UBUNTU so thats why this is here
    task = pid_task(find_vpid(pid), PIDTYPE_PID); 
    printk("%d .\n", task);

    if(task …
Run Code Online (Sandbox Code Playgroud)

c pid linux-device-driver linux-kernel

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×2

linux-kernel ×2

kernel ×1

linux-device-driver ×1

performance ×1

pid ×1

time ×1