if (hangcheck_dump_tasks) { printk(KERN_CRIT "Hangcheck: Task state:\n"); #ifdef CONFIG_MAGIC_SYSRQ handle_sysrq('t', NULL, NULL); #endif  /* CONFIG_MAGIC_SYSRQ */ } 
static void hangcheck_fire(unsigned long data){	unsigned long long cur_tsc, tsc_diff;	cur_tsc = monotonic_clock();	if (cur_tsc > hangcheck_tsc)		tsc_diff = cur_tsc - hangcheck_tsc;	else		tsc_diff = (cur_tsc + (~0ULL - hangcheck_tsc)); /* or something */	if (tsc_diff > hangcheck_tsc_margin) {		if (hangcheck_reboot) {			printk(KERN_CRIT "Hangcheck: hangcheck is restarting the machine.\n");			machine_restart(NULL);		} else {			printk(KERN_CRIT "Hangcheck: hangcheck value past margin!\n");		}	}	mod_timer(&hangcheck_ticktock, jiffies + (hangcheck_tick*HZ));	hangcheck_tsc = monotonic_clock();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/696f9486d0207d499391004f5bc9bd7c0e6ae82f/hangcheck-timer.c/buggy/drivers/char/hangcheck-timer.c