En un publicación anterior hable algo sobre jiffies y lo importante que son en el kernel de linux http://indetectables.net/viewtopic.php?f=102&t=48810
y como no provee de una función que pueda obtener la equivalencia en segundos(como por ejemplo para los timers)
se me occurió éste método:
/*
 * ************************************************
 * Autor: NvK
 * Funcion: Obtener los segundos actuales con respecto a los jiffies y HZ del procesador.
 * Fecha: 15-1-2014
 * ************************************************
 */

asmlinkage unsigned long jhz_to_secs(unsigned int aprox_secs)
{
	unsigned long jhz;
	__asm__ volatile(
		"addl $0x1, %%eax;"
		: "=r" (jhz)
		: "r" (jiffies+(aprox_secs*HZ))
	); return (*(&jhz));
}
Ejemplo de como usarla:
static int __section(.init.text) __cold notrace INIT_KERNEL(void)
{
	printk(KERN_INFO "\njhz_to_secs:%lu", jhz_to_secs(5) );
	
	return 0;
}
Responder

Volver a “Fuentes”