When to use linux kernel add_timer vs queue_delayed_work

view full story

http://stackoverflow.com – To schedule an action to happen later in a linux kernel driver I have 2 options: add_timer queue_delayed_work One difference I know about: for timers you need to specify expires which is the jiffies value when the timer will expire, for delayed work you need to specify the delay of jiffies. I've been reading other questions about timers and work_queue's, and it mentions timers run outside process context. Is this different from delayed work? Also I know there is an issue with timers, when calculating the expires, it might happen the value overflows, so the calculated value is smaller tha (HowTos)