*参照元 [#i0250fb4]
#backlinks

*説明 [#x86a3b6b]
-パス: [[linux-4.4.1/kernel/time/hrtimer.c]]

-FIXME: これは何?
--説明


**引数 [#t5eb3cfc]
-struct hrtimer *timer
--
--[[linux-4.4.1/hrtimer]]
-struct hrtimer_clock_base *base
--
--[[linux-4.4.1/hrtimer_clock_base]]
-bool restart
--


**返り値 [#odf73213]
-int
--


**参考 [#m6209b5e]


*実装 [#g1b6711a]
 /*
  * remove hrtimer, called with base lock held
  */
 static inline int
 remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base, bool restart)
 {
         if (hrtimer_is_queued(timer)) {
                 unsigned long state = timer->state;
                 int reprogram;
 
-
--[[linux-4.4.1/hrtimer_is_queued()]]

                 /*
                  * Remove the timer and force reprogramming when high
                  * resolution mode is active and the timer is on the current
                  * CPU. If we remove a timer on another CPU, reprogramming is
                  * skipped. The interrupt event on this CPU is fired and
                  * reprogramming happens in the interrupt handler. This is a
                  * rare case and less expensive than a smp call.
                  */
                 debug_deactivate(timer);
                 timer_stats_hrtimer_clear_start_info(timer);
                 reprogram = base->cpu_base == this_cpu_ptr(&hrtimer_bases);
 
-
--[[linux-4.4.1/debug_deactivate()]]
--[[linux-4.4.1/timer_stats_hrtimer_clear_start_info()]]
--[[linux-4.4.1/this_cpu_ptr()]]
--[[linux-4.4.1/hrtimer_bases(global)]]

                 if (!restart)
                         state = HRTIMER_STATE_INACTIVE;
 
                 __remove_hrtimer(timer, base, state, reprogram);
-
--[[linux-4.4.1/__remove_hrtimer()]]

                 return 1;
         }
         return 0;
 }


*コメント [#p8e1f6fa]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS