* A problem with ktimer
@ 2005-11-17 15:39 Claudio Scordino
2005-11-17 17:28 ` Steven Rostedt
0 siblings, 1 reply; 4+ messages in thread
From: Claudio Scordino @ 2005-11-17 15:39 UTC (permalink / raw)
To: linux-kernel; +Cc: kernelnewbies
Hi,
I know that ktimer is not yet part of the main tree of the Linux kernel.
However, maybe someone can help me to understand why the following code in a
module makes crash my x86_64.
Many thanks,
Claudio
struct ktimer mytimer;
void myfunction()
{
int i;
}
static int module_insert(void)
{
ktime_t mytime = ktime_set(1,0);
mytimer.function = myfunction;
mytimer.data = NULL;
ktimer_init(&mytimer);
ktimer_start(&mytimer, &mytime, KTIMER_REL);
//...
}
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: A problem with ktimer
2005-11-17 15:39 A problem with ktimer Claudio Scordino
@ 2005-11-17 17:28 ` Steven Rostedt
2006-01-16 14:45 ` ktimer not firing ? Claudio Scordino
0 siblings, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2005-11-17 17:28 UTC (permalink / raw)
To: Claudio Scordino; +Cc: kernelnewbies, linux-kernel
On Thu, 2005-11-17 at 16:39 +0100, Claudio Scordino wrote:
> Hi,
>
> I know that ktimer is not yet part of the main tree of the Linux kernel.
>
> However, maybe someone can help me to understand why the following code in a
> module makes crash my x86_64.
>
> Many thanks,
>
> Claudio
>
>
>
> struct ktimer mytimer;
>
> void myfunction()
> {
> int i;
> }
>
>
> static int module_insert(void)
> {
> ktime_t mytime = ktime_set(1,0);
> mytimer.function = myfunction;
> mytimer.data = NULL;
> ktimer_init(&mytimer);
> ktimer_start(&mytimer, &mytime, KTIMER_REL);
> //...
> }
You must do the ktimer_init first!
So the order must be:
ktimer_init(&mytimer);
mytimer.function = myfunction;
mytimer.data = NULL;
//...
Think of ktimer_init like memset(...) (since it actually does a memset)
You wouldn't do;
struct myvar;
myvar.my_field = 1;
memset(&myvar, 0, sizeof(myvar));
Right ;-)
-- Steve
^ permalink raw reply [flat|nested] 4+ messages in thread* ktimer not firing ?
2005-11-17 17:28 ` Steven Rostedt
@ 2006-01-16 14:45 ` Claudio Scordino
2006-01-17 8:04 ` Thomas Gleixner
0 siblings, 1 reply; 4+ messages in thread
From: Claudio Scordino @ 2006-01-16 14:45 UTC (permalink / raw)
To: linux-kernel; +Cc: Steven Rostedt, kernelnewbies, Thomas Gleixner, Ingo Molnar
Hi,
I know that ktimer is not yet part of the main tree of the Linux
kernel...
I need an high precision timer in a kernel module for 2.6.14, so I chose to
use ktimers.
My timer must be stopped and reprogrammed very frequently.
This is how I initialize the timer:
struct ktimer mytimer;
ktimer_init(&mytimer);
mytimer.function = myfunction;
mytimer.data = NULL;
This is how I stop the timer:
ktimer_cancel(&mytimer);
This is how I restart the timer:
ktime_t mytime = ktime_set(...,...);
ktimer_start(&mytimer, &mytime, KTIMER_REL)
However, the timer never fires. I checked the return value of the start and
it's correct (0 = success). Any idea of why the timer does not fire ?
I tried also by directly using ktimer_restart instead of ktimer_cancel +
ktimer_start, but the timer does not fire either.
The module has also another ktimer which works perfectly...
Many thanks for your help,
Claudio
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: ktimer not firing ?
2006-01-16 14:45 ` ktimer not firing ? Claudio Scordino
@ 2006-01-17 8:04 ` Thomas Gleixner
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Gleixner @ 2006-01-17 8:04 UTC (permalink / raw)
To: Claudio Scordino; +Cc: linux-kernel, Steven Rostedt, kernelnewbies, Ingo Molnar
On Mon, 2006-01-16 at 09:45 -0500, Claudio Scordino wrote:
> Hi,
>
> I know that ktimer is not yet part of the main tree of the Linux
> kernel...
And will never be. ktimers have been superseeded by hrtimers. The base
patch is merged into Linus tree and the high resolution patch can be
found here:
http://www.tglx.de/projects/hrtimers/2.6.15/
> However, the timer never fires. I checked the return value of the start and
> it's correct (0 = success). Any idea of why the timer does not fire ?
Have you checked the expiry value after you called (re)start? It might
be far in the future.
tglx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-01-17 8:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-17 15:39 A problem with ktimer Claudio Scordino
2005-11-17 17:28 ` Steven Rostedt
2006-01-16 14:45 ` ktimer not firing ? Claudio Scordino
2006-01-17 8:04 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox