Re: Question about kernel timers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Tue, 25 Jul 2006 18:01:56 -0400,
Lee Revell wrote:
> 
> I am writing a driver in which every time some event occurs, two
> single-shot timers must be scheduled.  This event could happen many
> times per second so many of these timers can be pending at once.  Can
> someone point me to an example of a driver that does something like
> this?
> 
> All the ALSA drivers I can find that use timers have a single periodic
> timer and use a struct timer_list in the card record.  However I think
> this is not an option for me, as I must create new timers on the fly.
> 
> I've found that the kernel Oopses if you allocate a timer on the stack,
> so I use kmalloc().  It seems to work, but leaks memory, as there's no
> opportunity to free() all the timer_lists I'm creating on the fly.
> 
> Can I do this with a single struct timer_list?  Is it possible to
> schedule multiple timers using add_timer() then changing the parameters
> and add_timer() again?
> 
> It seems that this should be documented somewhere but it's not - LDD3
> was no help.  All the examples were very simplistic.

Can workq be used instead?  You can schedule tasks with
schedule_delayed_work() with a certain delay.
Using workq, the multiple calls wouldn't be no longer problem.


Takashi

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux