thank you so much. I tried that but the thing is in this code we are creating a timer and it will execute the handler when ever the tick_timer.expires = jiffies + 1 But my need is iwll get the message when ever the timer interrupt occures.i.e for every tick rate. On Tue, 2005-09-20 at 19:07 +0530, Sanjay Kumar, Noida wrote: > Hi, > > > >-----Original Message----- > >From: raja [mailto:vnagaraju@xxxxxxxxxxxx] > >Sent: Tuesday, September 20, 2005 5:26 PM > >To: kernel; fawadlateef@xxxxxxxxx > >Subject: Re: interrupts > > > >actually i am writing a module to sense the timer interrupt. > >Any way for every clock tick the timer updates the system time.I want > to > >find out the process's information that was running at the time the > >timer interrupt occures. > >I have registered my handler that prints simply a message when ever the > >timer interrupt occures.But it is not working.It is not printing any > >message. > > I couldn't get the usage of char device in your code. > See if this sample code helps you. Here I have: > ~~~~~~~~~~~ > > struct timer_list tick_timer; > void timer_func(unsigned int data) > { > /* > Do all the processing here > Print pid of the currently running task. > */ > mod_timer(&tick_timer, jiffies + 1); > } > > static int __init start_timer(void) > { > init_timer(&tick_timer); > tick_timer.expires = jiffies + 1; > tick_timer.function=timer_func; > add_timer(&tick_timer); > return 0; > } > > Static void __exit exit_timer(void) > { > del_timer(&my_timer); > } > module_init(start_timer); > module_exit(exit_timer); > ~~~~~~~~~~~~~~~~~~~~~~~~ > > Sanjay > > > > > > > >I am listing my code below.Will you please help me > > > > > > > > > > > > > > > > > > > >#ifndef __KERNEL__ > > #define __KERNEL__ > >#endif > > > >#ifndef MODULE > > #define MODULE > >#endif > > > >#include <linux/kernel.h> > >#include <linux/init.h> > >#include <linux/module.h> > >#include <linux/fs.h> > >#include <linux/interrupt.h> > > > >MODULE_AUTHOR("RAJA"); > >MODULE_DESCRIPTION("TIMER INTERRUPT"); > >MODULE_LICENSE("GPL"); > > > >#define DEVICE_NAME "timer_interrupt" > >#define TIMER_INTERRUPT 0 > >static int __init init_timer_interrupt(void); > >static void __exit exit_timer_interrupt(void); > > > >static irqreturn_t timer_interrupt_handler(unsigned int,void *, struct > >pt_regs *); > > > >int devNo; > >struct file_operations fops = {}; > > > >static irqreturn_t timer_interrupt_handler(unsigned int irq,void *data, > >struct pt_regs *regs) > >{ > > printk("Timer Interrupt Occured\n"); > > return 0; > >} > > > >static int __init init_timer_interrupt() > >{ > > printk("Entered Into init_timer\n"); > > devNo = register_chrdev(0,DEVICE_NAME,&fops); > > > >request_irq(TIMER_INTERRUPT,timer_interrupt_handler,SA_SHIRQ,DEVICE_NAM > E,&d > >evNo); > > printk("Exited From init_timer\n"); > > return 0; > >} > > > >static void __exit exit_timer_interrupt() > >{ > > printk("Entered Into exit_timer\n"); > > unregister_chrdev(devNo,DEVICE_NAME); > > free_irq(TIMER_INTERRUPT,&devNo); > > printk("Exited From exit_timer\n"); > >} > > > >module_init(init_timer_interrupt); > >module_exit(exit_timer_interrupt); > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >On Tue, 2005-09-20 at 17:02 +0500, Fawad Lateef wrote: > >> On 9/20/05, raja <vnagaraju@xxxxxxxxxxxx> wrote: > >> > yaa. > >> > I have checked /proc/interrupts. > >> > But there it is given the interrupt numbers. > >> > > >> > actually the requirement is i am writing a module that it senses > when > >> > ever the interrupt occures and prints the interrupt number. > >> > > >> > Will you please help me. > >> > > >> > > >> > >> What sort of module you are writing ?? How you are going to sense > >> interrupts when they occurs ?? I think for getting signal through the > >> call-backed function from the kernel you have to register your > >> interrupt handlers, so that you can be notified by the kernel > ........ > >> > >> Or hack into the kernel, to get notified for each interrupt, but > AFAIK > >> your module can't get every single interrupt until you register them > >> with the kernel ........ > >> > >> Correct me if I m wrong !!!! > >> > >> > > > > > >-- > >Kernelnewbies: Help each other learn about the Linux kernel. > >Archive: http://mail.nl.linux.org/kernelnewbies/ > >FAQ: http://kernelnewbies.org/faq/ > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > FAQ: http://kernelnewbies.org/faq/ > -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/