- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一段代码,我想以秒为单位计算时间。虽然我得到的时间是以 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");
我得到的输出是这样的:
$insmod jiffexample.ko
[Jiffies start Time : 13363583]
Module Started
$rmmod jiffexample.ko
[Jiffies End Time : 13361588]
Module Removed.
End Time 13361588 - Start Time 1336358
Total Elapsed time [1605]
现在我想以秒为单位转换时间..如何将耗时 1605 转换为秒?或者你能告诉我一秒钟有多少个 jiffies 吗?
最佳答案
对于您的用例,您可以使用:
jiffies_to_msecs 或jiffies_to_usecs
以下所有转换例程:
来自include/linux/jiffies.h
...
/*
* Convert various time units to each other:
*/
extern unsigned int jiffies_to_msecs(const unsigned long j);
extern unsigned int jiffies_to_usecs(const unsigned long j);
extern unsigned long msecs_to_jiffies(const unsigned int m);
extern unsigned long usecs_to_jiffies(const unsigned int u);
extern unsigned long timespec_to_jiffies(const struct timespec *value);
extern void jiffies_to_timespec(const unsigned long jiffies,
struct timespec *value);
extern unsigned long timeval_to_jiffies(const struct timeval *value);
extern void jiffies_to_timeval(const unsigned long jiffies,
struct timeval *value);
extern clock_t jiffies_to_clock_t(unsigned long x);
extern unsigned long clock_t_to_jiffies(unsigned long x);
extern u64 jiffies_64_to_clock_t(u64 x);
extern u64 nsec_to_clock_t(u64 x);
extern u64 nsecs_to_jiffies64(u64 n);
extern unsigned long nsecs_to_jiffies(u64 n);
...
关于c - Jiffies - 如何计算经过的秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10885685/
我搜索了整个 Linux-3.13 代码,但找不到定义。也许这个问题很简单,但是却让我困惑了很久。而且我无法通过 Google 找到类似的主题 :( , 谁能告诉我? 提前致谢! 大家好,我找到了。它
来自 here : The value of HZ varies across kernel versions and hardware platforms. On i386 the situatio
内核维护一个名为 jiffies 的全局变量。它保存系统启动时的滴答/定时器中断数。 每次发生定时器中断时,内部内核计数器的值都会增加。 在无滴答内核/动态滴答中,中断不会定期发生,jiffies 的
我正在使用 msecs_to_jiffies(msecs) 来获得延迟。我需要延迟 16 毫秒。但问题是函数为输入 1-10 返回 1,为 11-20 返回 2,为 21-30 返回 3 等等。因此我
我有一段代码,我想以秒为单位计算时间。虽然我得到的时间是以 jiffies 为单位的,但我如何将它转换为秒? 这是我的内核代码: #include #include #include #incl
我正在尝试添加 davisp/jiffy作为 Ejabberd 中的 rebar 依赖项,因此我可以在模块中进行一些 JSON 解析。我发现this tutorial ,他们将 Jiffy 添加为另一
这个问题在这里已经有了答案: Python: How to get number of mili seconds per jiffy (3 个答案) 关闭 8 年前。 在 linux 上,我正在用
在内核中,我想将 jiffies 与毫秒进行比较。我们可以在 if 语句中用 5 毫秒这样做吗?你能帮帮我吗? 吉菲斯>5 最佳答案 来自include/linux/jiffies.h: extern
我在嵌入式系统上使用 Linux 2.6.36。我尝试用信号量来编程。为此,我需要 jiffies.h 库中的一个函数。到目前为止一切都很好。当我包含 Lib 时 无论是这样 #include 或者
我想获取Linux“jiffies”变量的物理地址,这样我就可以通过读取这个内存地址的内容来读取它。 最佳答案 在内核模式代码(例如可加载内核模块)中,您需要包含 头文件。它包含 jiffies 的定
queue_delayed_work(struct workqueue_struct *wq,struct delayed_work *dwork,unsigned long delay) 在上面的函
据我所知,Linux内核中的“jiffies”是开机后的滴答数,一秒内的滴答数用“HZ”来定义,所以理论上: (uptime in seconds) = jiffies / HZ 但根据我的测试,上述
cat /proc/stat gives values in jiffies cat /proc/[pid]/stat gives values in tick count. tickcount和ji
重启后,jiffies 没有初始化为零,而是初始化为某个高值(接近环绕)。 例如(重启后立即): cat /proc/timer_list | grep jiffies .idle_jiffi
我有一段用户空间代码正在解析/proc/PID/task/TID/stat 以获取 cpu 使用情况。我可以使用 HZ 来获取每秒的 jiffies,但是这段代码可以移动到另一台具有不同配置值的机器。
如何在 Linux 中手动将 jiffies 转换为毫秒,反之亦然?我知道内核 2.6 有一个功能,但我正在研究 2.4(家庭作业),虽然我查看了代码,但它使用了很多宏常量,我不知道它们是否在 2.4
在 Linux 上,jiffies 和 ticks per second 之间有区别吗?我了解 jiffies 和 HZ 之间的关系。但我无法理解每秒滴答数是如何相关的。我在某处读到它是一个内部操作系
假设我们有如下代码: if (timeout > jiffies) { /* we did not time out, good ... */ } else { /* we timed
据我了解,USER_HZ 常量是在 Linux 2.6 中添加的,以解决由用户空间中的 HZ 值期望引起的问题:在以前的版本中Linux,更改 HZ 值可能会导致用户空间应用程序中的值无意间缩放。 我
我正在将 3.14 移植到成功运行 3.2 内核的基于 ARM 的 SOC。 我陷入了校准 jiffies 的代码中。 calibrate_delay_converge()-init/calibrat
我是一名优秀的程序员,十分优秀!