Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.19-rc7 36 lines 799 B view raw
1// SPDX-License-Identifier: MIT 2/* Copyright © 2025 Intel Corporation */ 3 4#include <linux/jiffies.h> 5 6#include "i915_timer_util.h" 7 8void cancel_timer(struct timer_list *t) 9{ 10 if (!timer_active(t)) 11 return; 12 13 timer_delete(t); 14 WRITE_ONCE(t->expires, 0); 15} 16 17void set_timer_ms(struct timer_list *t, unsigned long timeout) 18{ 19 if (!timeout) { 20 cancel_timer(t); 21 return; 22 } 23 24 timeout = msecs_to_jiffies(timeout); 25 26 /* 27 * Paranoia to make sure the compiler computes the timeout before 28 * loading 'jiffies' as jiffies is volatile and may be updated in 29 * the background by a timer tick. All to reduce the complexity 30 * of the addition and reduce the risk of losing a jiffy. 31 */ 32 barrier(); 33 34 /* Keep t->expires = 0 reserved to indicate a canceled timer. */ 35 mod_timer(t, jiffies + timeout ?: 1); 36}