linux/kernel/time/tick-sched.c
<<
>>
Prefs
   1/*
   2 *  linux/kernel/time/tick-sched.c
   3 *
   4 *  Copyright(C) 2005-2006, Thomas Gleixner <tglx@linutronix.de>
   5 *  Copyright(C) 2005-2007, Red Hat, Inc., Ingo Molnar
   6 *  Copyright(C) 2006-2007  Timesys Corp., Thomas Gleixner
   7 *
   8 *  No idle tick implementation for low and high resolution timers
   9 *
  10 *  Started by: Thomas Gleixner and Ingo Molnar
  11 *
  12 *  Distribute under GPLv2 
  13 */
  14#include <linux/cpu.h>
  15#include <linux/err.h>
  16#include <linux/hrtimer.h>
  17#include <linux/interrupt.h>
  18#include <linux/kernel_stat.h>
  19#include <linux/percpu.h>
  20#include <linux/profile.h>
  21#include <linux/sched.h>
  22#include <linux/module.h>
  23
  24#include <asm/irq_regs.h>
  25
  26#include "tick-internal.h"
  27
  28/*
  29 * Per cpu nohz control structure
  30 */
  31static DEFINE_PER_CPU(struct tick_sched, tick_cpu_sched);
  32
  33/*
  34 * The time, when the last jiffy update happened. Protected by xtime_lock 
  35 */
  36static ktime_t last_jiffies_update;
  37
  38struct tick_sched *tick_get_tick_sched(int cpu)
  39{
  40        return &per_cpu(tick_cpu_sched, cpu)asm-powerpc/irq_regs.h|include/asm-pp8nick_gess="s >

  v2  7.h|inclu7sparc/ir-s6cludeef">cpu)asm-pow"+code=per_cpus6ion>
  
 ue="v2  v24.6"
	  >
  v2  v24.Lt gs.h|="+cod/a>, , with  <! v2  v24.L
  35 */
 <64_cpu" class="sref">pdoa href=_t <64    return &  36static (int   37
stime/= 0ick_cpu_sched, cpu)
  36static 5e" name=5L39">  39{

  v2  7.h|inclu7sparc/ir-s6c5 class="5ref">cpu)asm-powerp5/irq_51time/tick-sce
 ue="v2  v24.6"
	  >
  v2  v24.Lc5u)asm-pow"+code=per5cpus65/time/tick-sched.c#L13" id="""""""""*35" class="line" name="L35">  355 gs.h|="+cod/a>, ktime_t 
ior_cpu" class="sref">p/a>ior"+co.ched.c#L38" id="v64_cpu" class="srev64    _tick_sched(int  */
,   37

  Ree>
	<>  35cpu)
,   39{

  v2  7.h|inclu7sparc/ir-s6c6 class="6ref">cpu)asm-powerp6/irq_61time/tick-sceturn &ktime_t ior_cpu" class="sref">p/a>ior"+co.ched.c#L38" id="v64_cpu" class="srev64    _ /tick-sched.c#L39" id="L39" class="li6udeef">c6u)asm-pow"+code=per6cpus66/time/tick-sched.c#L23" id="L23" class="l6="sref">6 gs.h|="+cod/a>, p/a>ior"+cotick_cpu_sched, ktime_t ktime_t 
p/a>ior"+cotick_cpu_sched,   37

  Sa>ja " idouts"*35" class="line" name="L35">  35cpu)
ior_cpu" class="sref">p/a>ior"+co.ched.c#L38" id="v64_cpu" class="srev64    __ /tick-sched.c#L39" id="L39" class="li7e" name=7L39">  39{
p/a>ior"+cotick_cpu_sched, cpu)asm-powerp7/irq_71time/tick-sched.c#L37" id="L37" class="l7="kernel7time/tick-s6clude/asm-p78nief72time/tick-sc/tick-scccccccccched.c#L38" id="L38s_cpu" class="sref">stime/= eturn &, c7u)asm-pow"+code=per7cpus67/time/tick-sched.c#L23" id="L23" class="l7="sref">7 gs.h|="+cod/a>, ktime_t ktime_t 
stimetick_cpu_sched, 

stimetick_cpu_sched,   37
cpu)

  Keep" namef">pnextp/a>ior variablt up" o /a>  35  39{
pnextp/a>ior"+co/= eturn &ktime_t ior_cpu" class="sref">p/a>ior"+cotick_cpu_sched, cpu)asm-powerp8/irq_81time/tick-sc|include/asm-pp8nick_gess="s >
, c8u)asm-pow"+code=per8cpus683gs.h|include/asm-pp8nick_gess="s >
8 gs.h|="+cod/a>, 
 <34
  35 *
  36static pinit_tkef">pinit_t(int cpu)
  39{
  36static ior_cpu" class="sr/a>ior"+coick_cpu_sched, cpu)asm-powerp9/irq_91time/tick-sched.c#L37" id="L37" class="l9="kernel9time/tick-s6clude/asm-p98nief92time/tick-sceturn &, c9u)asm-pow"+code=per9cpus693time/tick-sce
 ue="v2  v24.6"
	  >
  Did we s cla" namt <34< yet ?d=35" class="line" name="L35">  359 gs.h|="+cod/a>, ktime_t 
ktime_t ior_cpu" class="sref">pnextp/a>ior"+coick_cpu_sched, ktime_t 
,  *
static ior_cpu" class="sr/a>ior"+coick_cpu_sched, 
 *
   1 *
ality"L1" class="line" name="L1">   1
  13 */
static linux0/cpu.h>
linux0/err.h>
? v2  v24.L>
  35  39 name="Lre9kerne95time/tick-sc/tick-sceturn &ktime_t ior_cpuched" clas10linux/hrt0imer0t_cpuc/tick-sched.c#L37" i__read_mostp;ior__read_mostp;refker= 1>  19#include <lin09ef="+9e=tick_cpu_sched" clas10ef">linux0/err.h

   1
ior__9" c/tick-sched.c#L37" ish|ip_x/hrt0imemp;
;
linux//cpu.1&g">  36static ior_cpu" clas1e/linux/errr.h" class="fref">linux//err.11ior_cpu" class="s!int , off/a>"ick-s)code=cpu5ast_jiff5es_update;
liinux/11hdo_ <lass="line" n &  36static >linu11"+cotick_cpu_elsess="s!int , on/a>"ick-s)code=cpu5ast_jiff5es_update;
li11">cpu)
  19#include <linnux/p119+cotick_cpu_else  12 *  Distrted by: rofile.h" class="fref">l1inux/12" adr    return &.h|incl6">  36static lin1ux/sc12_cpu" class=".h|incl1>  19#include <
  24#include <ior__ih|ipcotick 0ime=/a>"ick-sq_81time/tick-sc|sh|ip_x/hrt0imemp;,   26#include "12l/time/tick-sched.c#L7" id=/*e="L12">  12 *  Dist/linux/in8" id="L28" class="line"1 name12  39 name="Lre9kerne95tim x/hrt0imerhref="+code=cped.="+codecode=cperef="f="kewasL35" classuc/tL12">  12 *  Distme_t" claef="kernel/time/tick-sch1ed.c#129" id="L29" class="line" name="L12">  12 *  Dist/linux/pe control structure
  13 */  13 */DEFINE_PER1_CPU<132" id="L12" class="line" name I2" as35" clt"> *_x/hrewasLstopp5" e" nhisnCPU,if rha=35"o.c#L13"s="code=cp="L13">  13 */
  13 *3an>

  . We do nhisnuncondi="linely e" any id=, asLwe don't knowhref" cr5" came="L13">  13 *3include/1en the last jiffy update1 happ1ned. Protected by xtime_lock   13 */  36static ktime_t   36static   37
stime/= 0ick_cpu_sched,1ched" cla1ss="sref">tick_sched1 *cpu)

ior"+coick_cpu_sched, tick_get_tick_sched(int tick_cpu_sched, cpu)asm-powerpc/irq_regs.h|include/asm-pp8nick_gess="s >
per_1cpu( *

  v2  71.h|inclu7sparc/ir-s6clud1eef">14="srwrif=_seqme,     r40" id="L40" class=1v2  v24.61"
	  >
  v2  v24.L, 

 *
an>
  24#include <, (int cpu1/a>)
, (ouch_softclasip_watchdogcoticr/a>ior"+coick_cpu_sched, 

  v2  v241.Lality"L1" class="line" name="/opti"mco1de=tick_cpu_sched" clas51udeef1>c5u)asm-pow"+code=per5cp* Uref="s5" clp0" id=" cla"f="ke="L36ss="s cou5" cp="L13">  13 */,   36static   36  36static ior_cd, tick_get_tick_sched(int ;
ue=ktime(int 
  37
stime/= 0ick_cpu_sched,1ce
 ue="v12  v24.6"
	  >
  Ree>
	<1>, {

  v2  7.h|inclu7sparc/ir-s6c5 class="5ref">cpu)asm-powerp5/irq_51time/tick-s1L35">  351c15namef">pnextp/a>ior variablt up" o /a>(int ktime_t 
(int tick_cpu_schedti, 
ktime_t 
ktime_tcpu" class="sref">p/a>ior"+cotick_cpu_schedtphed" clas10linuxu" cl-me="LIn7go Molnar
 *  Disass="line1" name="L36sub    return1 &1, 
ktime_tcpu" class="sref">p/a>ior"+cotick_cpu_schedtphed" clas10linuxu" cl-me="LIn7go Molnar


 *
lin id=1href="+coir-s6 Molnar

 1 Sa><1path  8ja " idouts"*35" class="line" n1ame="L35"1>  35cpu)
(int 
  37

, cpu)asm-powerupcotick_cpu_sched" class="linne" name4"L37"/tick-s6clude/asm-pp8nief"v1 v22"
	  1" class="1srincr"+co/= eturn &1
  
 ue="136" divns1_cpu" class="sr"L36" div1ns   17tick_cpu_sched" class="sref">t gs.h|="+co1c/tick-sc1ccccccccched.c#L38" id=r1ef="+1714" i rvoid_  36static >;
  37
&g">  36static ior_cpu" clas1s="srincr1"+co/*cched.c#L38" id="L138s_c1u" class="srefcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int tick_cpu_sched, cpu)asm-powerpc/irq_regs.h|include/asm-pp8nick_gess="s >
lSa><17"+cotick_cpu_sched, ophed" clas10linuxu" cl/asm-pp8nick_gess-s6c6="kernel6time/tick-s6clude/asm-p68nieNULLc6="kernel6timeNULL"L37"/tick-s6clude/asm-pp8nief"v1 v22"
	  1"me="L35"1e
 ue="v2  v24.6"
	  >
 1 Keep17a>)
,   36static   35<1/a>linux0/err.hct"> *_cclas_6="k_wakeup_evass=ed" clas10linus"> *_cclas_6="k_wakeup_evasscotic0"/tick-s6clude/asm-pp8nief"v1 v22"
	  1me/tick-s1ceturn &)asm-pow"+code=per_cpus6ion>
  
 ue="1ass="The 1time, _cpu" class="srThe1 time18tick_cpu_sched" class="sref">t gs.h|="+co1sched.c#L123" id="L23" class="l8li1nutro1814" i rvoid_k_cpu_sched>;
tick_get_tick_sched(int   37
&g">  36static ior_cpu" clas1span>
, ;
, , 
, 

 *
kef">pinit_t)
,   19#include <,  *_cclas_6="k_sleep_evass=ed" clas10linus"> *_cclas_6="k_sleep_evasscoticr/a>ior"+coick_cpu_sched, i1or"+coick_cpu_sched,1  *
)asm-pow"+code=per_cpus6ion>
  
 ue="1"The time1, _cpu" class="srThe tim1e, "+19tick_cpu_sched" class="sref">t gs.h|="+co1 name="L315">  35919class9/a>, with k-s  1< fun();">ality"L1" class="line" name="d.c#L38" 1id="v64_cpu" class="srev164   19ed. Protected by xtime_lock ality"L1" class="line" name="dpan>
  13 *_t" class1="sref">ktime_t   13 *_span>
  13 */
<199" id="L29" class="line" name="L12">  12 *  Disck-sched.1c#L37" id="L37" class="l110 an19ef="kernel/time/tick-sched.c#LRe=tickick-cummulan"=3 f="kernme (since boot)n &ama g"=3n="L29">  29 * Per e/tick-sc2ed.c#L1" id="L1" class="2ine" 20r
  13 */
<2 href="02ern"k/time/tick2sched2c#L12" id="L1NOHZ - aka dya me="L12">  12 *  Di2L1">   1<2a>
  12 *  Di2Lhed.c#L24a href="04ern"k/time/tfd2fL  13 */linux0/cpu.h<2a>>20ed. Protected by xtime_lock <="L13">  13 */?ickThisnlass="liode=ticped1aed  13 */>
  36static   39ue=ktime/m-pp8nick_gess"keregs.6="k_/tickup_tick_sched"keregs.6="k_/tickupcoticched.c#L39" id="L39" class="line" name="L39",_k_cpu_scheduet_tick_schedue=ktime(int 
  37
ktime_t   36static ior_cpu" clas20/linux/p20rcpu.h" class="fref">li209ef=209+cotick_cpu_code=tick_get_tick_sched" class="sref">tick_get_tick_sched(int tick_cpu_sched, cpu)asm-powerpc/irq_regs.h|include/asm-pp8nick_gess="s >
cpu)asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-s6clude/asm-p68nie6="khed" clas10linu6="kcoti/tick-s6clude/asm-pp8nief"v1 v22"
	  2a/linux/schhed.h" class="fref">linuxched21="srwrif=_seqme,     r40" id="L40" class=2a1">   1<2under GPLv2 
  37

linux2/cpu.21tick_cpu_sched" clas8Inc., In8go Molnarlinux2/err.215ick_cpu_sched, , , l2inux/21hdo_ <lassed(int 
linu21/a>, ophed" clas10linuxu" cl/asm-pp8nick_gess-s6c6="kernel6time/tick-s6clude/asm-p68nie"+codhref="+t0" >
ior"+coick_cpu_sched, li21">cpu)

ior"+coick_cpu_sched, li2nux/p219+cotick_cpu_}_elsesss="sr<64    cched.c#L38" id=incr_cpu2trted by:2rofile.h" class="fref">l2inux/22" adr    return &ed(int tick_cpu_schedti, 
lin2ux/sc22ss="line" namcpu_scheode=cpu9 class="9ref">cpu)asm-powerp9/irq_91time/tick-sched.c#L37" icode=tickref="+code=ktime_t" class="sref">ktime_t 
   1<2nnder GPLv2 
t gs.h|="+co2ched.c#L224" id="L24" class="line"2 name223turn &p/a>ior"+cotick_cpu_schedtphed" clas10linuxu" cl-me="LIn7go Molnar
stimetick_cpu_e &
ior"+coick_cpu_sched, 22hdo_ <lass="line" namdo_ <    r++ched.c#L38" id="L382t/linux/i28" id="L28" class="line"2 name22/a>, pnextp/a>ior variablt up" o /a>

cpu)asm-powerupcotick_cpu_sched6="khed" clas10linu6="kcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  2arted by:2ref="kernel/time/tick-sc2hed.c23i"mcode=tick_cpu_sched" clas5="kernel5tim2a/linux/s2 class="sref">DEFINE_PER2_CPU<23u)asm-pow"+code=per_cpus6ion>
  
 ue="2atribute 23" id="L33" class="line"2 name23an>
EXPORT_SYMBOL_GPLc6="kernel6timeEXPORT_SYMBOL_GPLcotick_cpu_sched"keregs.6="k_/tickup_tick_sched"keregs.6="k_/tickupcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  2ahed.c#L22eef="kernel/time/tick-sc2ename23L24">  24#include <ality"L1" class="line" name=2ahed.c#L22ref="kernel/time/tick-sc2hed.c2L36" id="L36" class="line" nam/"keregs.6owait"/tickuped."ketick-sotal fowaiternme of a e="L3  1< fun();">ality"L1" class="line" name=2t" class=2"sref">ktime_t   13 2ched.c#L328" id="L38" class="line"2 name23  39 name="Lre9kerne95tim @lsequhref="+t0" :&  13 2ched" cla2ss="sref">tick_sched2 *  13 */  13 */per_2cpu
  29 * Per >
  v2  72.h|inclu7sparc/ir-s6clud2eef">242" id="L12" class="line" name CPU,iin microsecondse="L13">  13 */
  v2  v24.L
  13 */  12 *  Di2=tick_cpu2_sched" classd by xti4e_2lock 24ed. Protected by xtime_lock   13 */  13 */  13 */cpu2/a>)
ue=ktime/m-pp8nick_gess"keregs.6owait"/tickup_tick_sched"keregs.6owait"/tickupcoticched.c#L39" id="L39" class="line" name="L39",_k_cpu_scheduet_tick_schedue=ktime(int 
  37
  36static ior_cpu" clas2ce
 ue="v22  v24.6"
	  >
  v2  v242.Ltick_get_tick_sched(int tick_cpu_sched, cpu)asm-powerpc/irq_regs.h|include/asm-pp8nick_gess="s >
ior"+coick_cpu_sched, t gs.h|="+co2s.h|="+co2d/a>,   37
  19#include <  26#include ", , , 
  Ree>
	<2>(int 
  352c25">cpu)
ophed" clas10linuxu" cl/asm-pp8nick_gess-s6c6="kernel6time/tick-s6clude/asm-p68nie"+codhref="+t0" >
ior"64    cched.c#L38" id=incr_cpu2Lnamdelta2, _cpu" class="srThe tim2e, "+25n cl8e" name=8L39">  3ude/asm-p68nie6owaithed" clas10linu6owait_t" 
ior"64    cched.c#L38" id=incr_cpu2ceturn &a2mp;(int tick_cpu_schedti, 
)asm-powerp9/irq_91time/tick-sched.c#L37" icode=tickref="+code=ktime_t" class="sref">ktime_t 
  24#include <, cpu" class="sref">p/a>ior"+cotick_cpu_schedtphed" clas10linuxu" cl-me="LIn7go Molnar
l2n id=26hdo_ <lass="line" 8L39">  3ude/asm-p68nie6owaithed" clas10linu6owait_t" 
ior"64    cched.c#L38" id=incr_cpu2ce
 ue="v2e
 ue="v2  v24.6"
	  >
 2 Sa><26/a>, 
  
 ue="2ame="L35"2>  35cpu)

  
 ue="2anamdelta2line" namdelta"+co.ched.2c#L38269e=tick_cpu_sched" clas10ef">linux0/err.h2" class="2srincr"+co/= eturn &2cpu)asm-powerupcotick_cpu_sched6owaithed" clas10linu6owait_t" e/tick-s6clude/asm-pp8nief"v1 v22"
	  2c/tick-sc2ccccccccched.c#L38" id="2L38s_27u)asm-pow"+code=per_cpus6ion>
  
 ue="236" divns2_cpu" class="sr"L36" div2ns   27an>
EXPORT_SYMBOL_GPLc6="kernel6timeEXPORT_SYMBOL_GPLcotick_cpu_sched"keregs.6owait"/tickup_tick_sched"keregs.6owait"/tickupcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  2c.h|="+co2ccccccccched.c#L38" id=r2ef="+27L24">  24#include <e" namdelta"+copu)asm-powerp9/irq_91time/tick-sched.c#L37" ix/hrt0imerstop_s"> *_x/hrhed" clas10linux/hrt0imerstop_s"> *_x/hrcoticcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int #include <stimetick_cpu_a hdeltalass="line" namdelta"+copu)asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-s6cched.c#L39" id="L39" class="line" name="L39"">  37
stime/= 0ick_cpu_sched,2"/linux/i2tterrupt.h" class="fref"2lSa><27"+cotick_cpu_kerne49time/tick-sceturn &seqlass="line" namseqck-s6clude/asm-p68nie"+codcode=cphed" clas10linu"+codcode=cp" cl/asm-pp8nick_gess-ass=code=cphed" clas10linu-ass=code=cp_t" 6clude/asm-p68niecode==code=cphed" clas10linucode==code=cp_t" /a>ior"64    cched.c#L38" id=incr_cpu2"me="L35"2e
 ue="v2  v24.6"
	  >
 2 Keep27a>)
, )asm-powerp9/irq_91time/tick-sched.c#L37" ilsequhref=">
  35<2/a>ior"64    cched.c#L38" id=incr_cpu2rn &<2a h"L36" adr_cpu" class=2"sr"L28" adr    retucode=tick_get_tick_schcclas_evass_covic">
(int 
covic">
covic"L39""ck-sc/tick-scetuevtcovhed" clas10linuevtcov_t" /a>ior"64    cched.c#L38" id=incr_cpu2r/tick-sc2ceturn &ior"64    cched.c#L38" id=incr_cpu2r6" divns2time, _cpu" class="srThe2 time28tick_cpu_sched" class="sref">t gs.h|="+co2sched.c#L223" id="L23" class="l8li2nutro283turn &
stimetck-sceturn &seqlass="line" namseqck-sstatic ior_cpu" class="sr/a>ior"+coick_cpu_sched, 

ior"64    cched.c#L38" id=incr_cpu2r/linux/i2 hrefkerne88time/tick-sc2hed.c28/a>, ior"64    cched.c#L38" id=incr_cpu2rme="L35"2ss="sref">kef">pinit_tcpu)
ior"+coick_cpu_sched, (int iorread_seqretr;ref="rne98time/tick-sched.c#Lstatic ior_cpu" class="sq_81time/tick-sc|shqlass="line" namseqck-s)r/a>ior"+coick_cpu_sched, i2or"+coick_cpu_sched,2 (int tick_cpu_schedticotic.c#L39" id="L39" class="line" name="L39",_rne98time/tick-schedrcu_code==code=cphed" clas10linurcu_code==code=cp_t" ) ||_81time/tick-sc|prchek_needs">tick_cpu_schedti, 
tick_cpu_schedti, 
  359293turn &  19#include <  19#include <io2r_cpu295+cotick_cpu_}_elsesss="sr<64    cched.c#L38" id=incr_cpu2_t" class2="sref">ktime_t "ker-ass=sclar_35" class, ior"+coick_cpu_sched, 
<29">cpu)
ior"+coick_cpu_sched,   ed(int ior"64    cched.c#L38" id=incr_cpu3
<3 href="02ern"k/time/tick3sched30ss="line" namcpu_scheode=cpu9 class="9ref">ccode==code=cphed" clas10linucode==code=cp_t" kL36c7ne" name7"L3rcu_code==code=cphed" clas10linurcu_code==code=cp_t" /a>ior"64    cched.c#L38" id=incr_cpu3<2span>
<3  _cpu" class="srThe tim3v2 
  
 ue="3Lhed.c#L23a href="04ern"k/time/tfd3fL
  
 ue="3L4ed.c#L23ad="v64_cpu" class="srev3a>>30ss="line" namnid="L1NOHZ - aka dya hk-s  1< fun();">ality"L1" class="line" name=3<5nclude/3samp;?iiiiiiiii*/ticnot stopsick-scck, edality"L1" class="line" name=3<6nclude/3s"sref">ktime_t ality"L1" class="line" name=3<7nclude/3sime, _cpu" class="srThe3e9L3930  39 name="Lre9kerne95tiiiiiiiii*e/tick-sc/tick-sceturn &ktime_t cpu)
tick_get_tick_topp5""L37s_cpu__cpu_ int   37
li309ef=30n cl8e" name=8L39">  goto int ior"64    cched.c#L38" id=incr_cpu3arted by:3 Thomas Gleixner and Ing3o Mol31i"mcode=tick_cpu_sched" clas5="kernel5tim3a/linux/s3hhed.h" class="fref">lin3xched311s="line" namnid="L1NOHZ - aka dya hk Srnelu hr"ck-scck, ed   1<3under GPLv2 

  24#include <linux3/cpu.31a hdeltalass="line" nlid="L1NOHZ - aka dya hk-s  1< fun();">ality"L1" class="line" name=3e/linux/e3rr.h" class="fref">linux3/err.31d.c#L6" id="NO HZ enablt">?iiiiiiiiiiiiiiiii*/Id  29 * Per3enux/hrt03rtimer.h" class="fref">l3inux/31l/time/tick-sched.c#L7" id=3iiiiiiiiiiiiiiii*/g"=3l="n"ck-cheign7" ieck-slketit bk-saken byn"ck="L29">  29 * Per3e7nclude/3nterrupt.h" class="fref"3>linu31  39 name="Lre9kerne95tiiiiiiiiiiiiiiiii*/cpuewhichlrunsr"ck-scck-sclar"-ass,ewhichlmight bk="L29">  29 * Per3eme_t" cl3ernel_stat.h" class="fre3f">li319" id="L29" class="line" namiiiiiiiiiiiiiiii*/icisncpueaperell./Id  29 * Per3e/linux/p3ercpu.h" class="fref">li3nux/p31ef="kernel/time/tick-sched.ciiiiiiiiiiiiiiii*/code=cpemight bke="L hrck-sdo=sclar()"-aver="L29">  29 * Per3trted by:3rofile.h" class="fref">l3inux/32r
  29 * Per3t/linux/s3ched.h" class="fref">lin3ux/sc322" id="L12" class="line" namiiiiiiiiiiiiiiii*/whichlha-sick-do=sclar()"dutyimseq./Id  29 * Per3t1">   1<3nnder GPLv2 
  29 * Per3tan>
  29 * Per3t/linux/c3asm-alpha/irq_regs.h|inc3lude/32ed. Protected by xtime_lock iiiiiiiiiiiiiiii*/maxmcofere7" ievalue whichlwe retriaved="L29">  29 * Per3t/linux/e36" id="L26" class="line"3 name32d.c#L6" id="NO HZ enablt">?iiiiiiiiiiiiiiiii*/above. O" crwiselwe crefsleep-asnme/tiapere wante="L13">  13 */32l/time/tick-sched.c#L7" id=3iiiiiiiiiiiiiiii*e/tick-sc/tick-sceturn &, 
tick_cpu_schedti_t" csss="sr<64    cched.c#L38" id=incr_cpu3tme_t" cl3ef="kernel/time/tick-sch3ed.c#32">cpu)
tick_cpu_schedti_t" kL36c7ne" name7"L3TICK_DO_TIMER_NONEck_cpu_schedior"64    cched.c#L38" id=incr_cpu3t/linux/p3 control structure
  kkkkkkkkLIn7go Molnar  19#include <(int tick_cpu_schedti_t" k!L36c7ne" name7"L3TICK_DO_TIMER_NONEck_cpu_schedDEFINE_PER3_CPU<33ss="line" namcpu_scheode=cpu9 class="9ref">c"ntimcode=tickref="+code=91timcode=_t" ior"64    cched.c#L38" id=incr_cpu3atribute 33" id="L33" class="line"3 name33eturn &  36static , ior"64    cched.c#L38" id=incr_cpu3a/linux/e3ref="kernel/time/tick-sc3hed.c33sr"L36" adr    return}a>ior"64    cched.c#L38" id=incr_cpu3al/time/t3"sref">ktime_t , ality"L1" class="line" name=3ched" cla3ss="sref">tick_sched3 *ality"L1" class="line" name=3c/linux/p340" id="L40" class="line3" nam33ef="kernel/time/tick-sched.cmmmmmmmmmmmmmmmm*/sclar. code==code=cpkme="L3NEXT_TIMER_MAX_DELTA eignals="L29">  29 * Per3"+code=pe3r_cpu" class="sref">per_3cpu
  13 3>
  v2  73.h|inclu7sparc/ir-s6clud3eef">342" id="L12" class="line" nammmmmmmmmmmmmmmmm*/farccheo ick-futur3l(12 days" &amHZ=1000)./In  13 3>tribute 3"
	  >
  v2  v24.L
  13 */(int , stimetick_cpu_eid="L1NOHZ - aka dya hk-s  1< fun();">ality"L1" class="line" name=3"" class=3urn &  13 */  13 */cpu349" id="L29" class="line" nammmmmmmmmmmmmmmmm33333333* permitodtibyn"ck curr" iecclassourchr"ckn adjueq_tL13">  13 */  29 * Per3ce
 ue="v32  v24.6"
	  >
  v2  v243.L
  13 */)asm-powerp9/irqmin>), #include <, (int tick_get_tickperio"turnck-sc/tick-sceturn &ior"64    cched.c#L38" id=incr_cpu3e" name="3L36sub    return &ior"64    cched.c#L38" id=incr_cpu3ehed.c#L23  hed.csched.c#L38" id="3L38"/35L26">  26#include "(int   37

  Ree>
	<3>, cpu_n="7ref">cpu)asm-pocpu_n=, ior"64    cched.c#L38" id=incr_cpu3ehed" cla3c35">cpu)
ior"64    cched.c#L38" id=incr_cpu3e/linux/p3, _cpu" class="srThe tim3e, "+35n cl8e" name=8L39">  lllllllla>(int ior"64    cched.c#L38" id=incr_cpu3ceturn &a3mp;(int tick_get_tick_topp5""L37s_cpu__cpu_ int cpu)asm-poequal, ous_t" /a>ior"64    cched.c#L38" id=incr_cpu3ass="line3" name="L36sub    return3 &36tick_cpu_sched" clas8Inc., In8go Molnarior"64    cched.c#L38" id=incr_cpu3aef=5kern3ttimer.h" class="fref">l3n id=36hdo_ tick-s6clude/asm-pp8nief"v1 v22"
	  3ce
 ue="v3e
 ue="v2  v24.6"
	  >
 3 Sa><36/a>, ality"L1" class="line" name=3ame="L35"3>  35 *_x/hr crefbe crlldtisaveral-sclasfbe &ak="L29">  29 * Per3anamdelta3line" namdelta"+co.ched.3c#L3836ef="kernel/time/tick-sched.cmmmmmmmmmmmmmmmm*/sck--imerrcptart_s"> *_x/hr isncrlldt."Thisnhapp5ns"ref=="L29">  29 * Per3" class="3srincr"+co/= eturn &3
  29 * Per3c/tick-sc3ccccccccched.c#L38" id="3L38s_372" id="L12" class="line" nammmmmmmmmmmmmmmmm*/firstncrlllwe saven"ck curr" iescck-scla, solwe crefrcptart="L29">  29 * Per3copti"mco3_cpu" class="sr"L36" div3ns   37an>
 *_x/hre="L13">  13 */tick_get_tick_topp5""L37csss="sr<64    cched.c#L38" id=incr_cpu3rhed.c#L23"+co/*cched.c#L38" id="L338s_c37" class="sref">stimetick_cpu_LIn7go Molnar, 
  3ude/asm-p68niecalc_load_="tar_3="khed" clas10linucalc_load_="tar_3="k,e/tick-s6clude/asm-pp8nief"v1 v22"
	  3"e
 ue="v3tterrupt.h" class="fref"3lSa><37"+cottick-s6clude/asm-pp8nief"v1 v22"
	  3"me="L35"3e
 ue="v2  v24.6"
	  >
 3 Keep37">cpu)

,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  3"namdelta3="line" name="L35">  35<3/a>  kkkkkkkkLIn7go Molnartick_get_tick_topp5""L37sL31>  19#include <#include <ality"L1" class="line" name=3sched.c#L323" id="L23" class="l8li3nutro38tatic   29 * Per3ched.c#L335" id=
  v2  v24.L  29 * Per3ched.c#L23hre8kerne8nel/time/tick-3sched38d.c#L6" id="NO HZ enablt">?iiiiiiiiiiiiiiiii*e/tick-sc/tick-sceturn &(int , , (int   37
kef">pinit_tcpu)
cpu)hrsclar"canckl,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  3sceturn &3amp;  kkkkkkkkgoto int ior"64    cched.c#L38" id=incr_cpu3s="sr/a>i3or"+coick_cpu_sched,3 #include <(int   359393turn &cpu)hrsclar"ptart="a>,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nieexpircphed" clas10linuexpircp_t" 6s="sr<64    cched.c#L38" id=incr_cpu3 hed.c#L33id="v64_cpu" class="srev364   39a hdeltalass="line" namp;
stimetick_cpu_eid="L1NOHZ - aka dya hk Check, ed<"ck-sclar wasnalready/inktime_t (int ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie">  37

ior"64    cched.c#L38" id=incr_cpu3sme="L35"3u9resolutioon timers
<39">cpu)
,   37
  ssssssssssssssssgoto int ior"64    cched.c#L38" id=incr_cpu4e/tick-sc4ed.c#L1" id="L1" class="4ine" 40" adr    return &eid="L1NOHZ - aka dya hk-s  1< fun();">ality"L1" class="line" name=4
<4 href="02ern"k/time/tick4sched402" id="L12" class="line" nammmmmmmmmmmmmmmmm*/We are pseqi"ck-evass already. Solwe crossed =="L13">  13 */
<4  _cpu" class="srThe tim4v2 
  29 * Per4Lhed.c#L24a href="04ern"k/time/tfd4fL  29 * Per4L4ed.c#L24ad="v64_cpu" class="srev4a>>40ed. Protected by xtime_lock iiiiiiiiiiiiiiii*e/tick-sc/tick-sceturn &io4ck-sc40sr"L36" adr    return6c7ne" name7"L3_tickdo=href="+code=cp &, ktime_t #include <, ktime_t )
ous_t" :tick-s6clude/asm-pp8nief"v1 v22"
	  4i9e_t" cl4s#L37" id="L37" class="l409ef=40n cl8e" name=a>(int (int 
<4hhed.h" class="fref">lin4xched41ss="line" namnow_get href="+_phed" clas10linuxu" cl-me="LIn7go Molnar    1<4under GPLv2 
t gs.h|="+co4pan>
linux4/cpu.41a hde}  19#include <linux4/err.41L26">  26#include "l4inux/41l/tim="L36">e" namdelta"+cobool"7ref">cpu)boolturn 3ude/asm-p68niecanrstop_s="k_ef"v>
,ched.c#L39" id="L39" class="line" name="L39",_code=tick_get_tick_sched" class="sref">tick_get_tick_sched(int   37
linu41  39li41a>)
ality"L1" class="line" name=4e/linux/p4ercpu.h" class="fref">li4nux/p41ef="kernel/time/tick-sched.ciiiiiiii*/Idality"L1" class="line" name=4trted by:4rofile.h" class="fref">l4inux/42r
ality"L1" class="line" name=4t/span>
<4ched.h" class="fref">lin4ux/sc422" id="L12" class="line" namiiiiiiii*ality"L1" class="line" name=4t1">   1<4nnder GPLv2 
  29 * Per4tan>
  29 * Per4t4ed.c#L24asm-alpha/irq_regs.h|inc4lude/42ed. Protected by xtime_lock iiiiiiii*e/tick-sc/tick-sceturn &(int ,!int on classss="line" name=">on cla, 
42hdo_ <lass="line" ed(int 
tick_cpu_schedti_t" cs="sr<64    cched.c#L38" id=incr_cpu4e7nclude/48" id="L28" class="line"4 name42/a>, tick_cpu_schedti_t" kL36c7ne" name7"L3TICK_DO_TIMER_NONEck_cpu_schedior"64    cched.c#L38" id=incr_cpu4tme_t" cl4ef="kernel/time/tick-sch4ed.c#42">cpu)

  
 ue="4t/linux/p4 control structure
linux0/err.h4arted by:4ref="kernel/time/tick-sc4hed.c43" adr    retued(int ,   37
DEFINE_PER4_CPU<43ss="line" namcpu_schede=tickn>
ior"64    cched.c#L38" id=incr_cpu4atribute 43" id="L33" class="line"4 name43tick_cpu_sched" class="sref">t gs.h|="+co4ahed.c#L24eef="kernel/time/tick-sc4ename433turn &(int t gs.h|="+co4a4ed.c#L24en the last jiffy update4 happ43a hdeltalass="line" nde=tickn>
ior"64    cched.c#L38" id=incr_cpu4a/linux/e4ref="kernel/time/tick-sc4hed.c43L26">  26#include "ktime_t , on classss="line" name=">on cla, 
, ched.c#L39" id="L39rcodlimieonf=4kerne47timraodlimie_t" /a>ior"64    cched.c#L38" id=incr_cpu4ame_t" cl4ss="sref">tick_sched4 *ior"64    cched.c#L38" id=incr_cpu4a/linux/p440" id="L40" class="line4" nam43n cl8e" name=8L39">  ed(int ior"64    cched.c#L38" id=incr_cpu4"+code=pe4r_cpu" class="sref">per_4cpu
  v2  74.h|inclu7sparc/ir-s6clud4eef">44ss="line" namcpu_scheode=cpu9 class="9ref">cprchekhed" clas10linuprchek, "Nsch: "ocal_softirq_pend"*3 %02x\n"/tick-s6s="sr<64    cched.c#L38" id=incr_cpu4>tribute 4"
	  >
  v2  v24.L
  
 ue="4"hed.c#L24ref=4kerne4/time/tick-sv4oidsc44" class="sref">stimetde=tickn>
ior"64    cched.c#L38" id=incr_cpu4"" class=4urn &cpu44">cpu)

ior"64    cched.c#L38" id=incr_cpu4"/linux/p4"+code=last_jiffies_upda4te" c44ef="k}  19#include <
  v2  v244.Lvoid hre9kerne96time___tick-imers="k_="tarhed" clas10linu___tick-imers="k_="tarcoticcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int   37
, )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-s6clude/asm-p68nieexpircphed" clas10linuexpircp_t" /a>ior"64    cched.c#L38" id=incr_cpu4e" name="4L36sub    return &ior"64    cched.c#L38" id=incr_cpu4ehed.c#L24  hed.csched.c#L38" id="4L38"/45L26">  26#include "ior"64    cched.c#L38" id=incr_cpu4ehed.c#L342  v24.6"
	  >
  Ree>
	<4>c45">cpu)

, 
  ched.c#L39" id="L39wask_topp5""sref">tick_getwask_topp5"ck-stick_get_tick_topp5""L37/a>ior"64    cched.c#L38" id=incr_cpu4ceturn &a4mp;t gs.h|="+co4e.h|="+co4eturn & *_x/hrhed" clas10linu/1ick-imerptop_s"> *_x/hr, 
(int l4n id=46hdo_ <lass="line" 8L39">  3ude/asm-p68nie/phed" clas10linuxu" cl-me="LIn7go Molnarior"64    cched.c#L38" id=incr_cpu4ce
 ue="v4e
 ue="v2  v24.6"
	  >
 4 Sa><46/a>,   35ior"64    cched.c#L38" id=incr_cpu4anamdelta4line" namdelta"+co.ched.4c#L3846n cl8e" name=8L39">  edtick_getwask_topp5"ck-s<_cpu__cpu_ int tick_get_tick_topp5""L37ca>ior"64    cched.c#L38" id=incr_cpu4" class="4srincr"+co/= eturn &4#include <
<}  19#include <  24#include <ality"L1" class="line" name=4rhed.c#L24"+co/*cched.c#L38" id="L438s_c47d.c#L6" id="NO HZ enablt">?i* _tick-imers="k_="tar - stopsick-s="k-scck-fromsick-s="k-sask-s  1< fun();">ality"L1" class="line" name=4ref=5kern4e/tick-sc/tick-sceturn &4amp;<47l/time/tick-sched.c#L7" id=3k-s  1< fun();">ality"L1" class="line" name=4re
 ue="v4tterrupt.h" class="fref"4lSa><47  39 name="Lre9kerne95ti* Wckn/ick--ass-evass es mor3l"c naaescck-ineo ick-futur3, stopsick-s="k-scck-s  1< fun();">ality"L1" class="line" name=4rme="L35"4e
 ue="v2  v24.6"
	  >
 4 Keep479" id="L29" class="line" nam* Calldtiref=lwe startsick-s="k-loope="L13">  13 */  35<4/a>ality"L1" class="line" name=4rn &<4a h"L36" adr_cpu" class=4"sr"L48r
ality"L1" class="line" name=4r/tick-sc4ceturn &ality"L1" class="line" name=4ropti"mco4time, _cpu" class="srThe4 time48an>
  29 * Per4sched.c#L423" id="L23" class="l8li4nutro48tatic   13 */  13 */?i*e/tick-sc/tick-sceturn &ior"64    cched.c#L38" id=incr_cpu4r/linux/i4 hrefkerne88time/tick-sc4hed.c48  39kef">pinit_tcpu)
tick_get_tick_sched(int linux0/err.h4s="sr/a>i4or"+coick_cpu_sched,4 (int , tick_getirqs_disablc=coticre/tick-s6clude/asm-pp8nief"v1 v22"
	  4ceturn &a4mp;ality"L1" class="line" name=4 name="L345">  35949tatic ality"L1" class="line" name=4 hed.c#L34id="v64_cpu" class="srev464   49ed. Protected by xtime_lock iiiiiiii*iref=l/1ick-imerptop_s"> *_x/hr() isncrlldt-fromsick-s="k-loope="L13">  13 */
?iiiiiiiii* S"L3e/will bke="+codd-so busy dur"*3sick-firstnbusy scck-aftar="L13">  13 */ktime_t   13 */
<49">cpu)
ti_sd_="L3e_3="khed" clas10linuset">ti_sd_="L3e_3="kcoticr/a>ior"64    cched.c#L38" id=incr_cpu4_ceturn &4c#L37" id="L37" class="l410 an499e=tick_cpu_sched" clas10ef">linux0/err.h5e/tick-sc5ed.c#L1" id="L1" class="5ine" 500 cl8e" name=a>(int ior"64    cched.c#L38" id=incr_cpu5
<5 href="02ern"k/time/tick5sched50="srwrif=_seqme,     r40" id="L40" class=5<2span>
<5  _cpu" class="srThe tim5v2 (int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clude/asm-pp8nief"v1 v22"
	  5Lhed.c#L25a href="04ern"k/time/tfd5fLality"L1" class="line" name=5L4ed.c#L25ad="v64_cpu" class="srev5a>>50ed. Protected by xtime_lock iiiiiiii* sketis-me="ins="k-uncondi="lirlly.-evas ed<"ck-system did not="L29">  29 * Per5<5nclude/5samp;?iiiiiiiii* switcheto--ime mar<  29 * Per5<6nclude/5s"sref">ktime_t   13 */ktime_t cpu)
  19#include <(int ior"64    cched.c#L38" id=incr_cpu5arted by:5 Thomas Gleixner and Ing5o Mol51i"mcode=tick_cpu_sched" clas5="kernel5tim5a/span>
<5hhed.h" class="fref">lin5xched51ss="line" namnow_get href="+"ocal_irq_enablched" clas10linu"ocal_irq_enablccoticr/a>ior"64    cched.c#L38" id=incr_cpu5a1">   1<5under GPLv2 

  24#include <linux5/cpu.51ed. Protected by xtime_lock/*k-s  1< fun();">ality"L1" class="line" name=5e/linux/e5rr.h" class="fref">linux5/err.51d.c#L6" id="NO HZ enablt">?i* _tick-imersrq_exit - ="+cod--ass-scck-evass fromsin" class =xit-s  1< fun();">ality"L1" class="line" name=5e6nclude/5rtimer.h" class="fref">l5inux/51l/time/tick-sched.c#L7" id=3k-s  1< fun();">ality"L1" class="line" name=5e7nclude/5nterrupt.h" class="fref"5>linu51  39 name="Lre9kerne95ti* Wckn/ nain" class fircpewhilelwe are s="k-ck-sitedoesn't cause-s  1< fun();">ality"L1" class="line" name=5eme_t" cl5ernel_stat.h" class="fre5f">li519" id="L29" class="line" nam* a resrnelu h,sitemay still add, marify5&amdeleteaaescmer, enqueue-s  1< fun();">ality"L1" class="line" name=5e9e_t" cl5ercpu.h" class="fref">li5nux/p51ef="kernel/time/tick-sched.c*/ naRCUfcrllback, etc..e="L13">  13 */l5inux/52r
  13 */
<5ched.h" class="fref">lin5ux/sc522" id="L12" class="line" nam*e/tick-sc/tick-sceturn &   1<5nnder GPLv2 
ior"64    cched.c#L38" id=incr_cpu5tan>
tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clude/asm-pp8nief"v1 v22"
	  5t/linux/e56" id="L26" class="line"5 name52L26">  26#include "526 adr    retuedior"64    cched.c#L38" id=incr_cpu5t7nclude/58" id="L28" class="line"5 name52/a>, ior"64    cched.c#L38" id=incr_cpu5t/linux/p5 control structure
(int ior"64    cched.c#L38" id=incr_cpu5arted by:5ref="kernel/time/tick-sc5hed.c53" adr}  19#include <DEFINE_PER5_CPU<53="srwrif=_seqme,     r40" id="L40" class=5atribute 53" id="L33" class="line"5 name53an>
ality"L1" class="line" name=5ahed.c#L25eef="kernel/time/tick-sc5ename53tatic ality"L1" class="line" name=5a4ed.c#L25en the last jiffy update5 happ53ed. Protected by xtime_lock *-s  1< fun();">ality"L1" class="line" name=5a/linux/e5ref="kernel/time/tick-sc5hed.c53d.c#L6" id="NO HZ enablt">?i* Crlldt-fromspower-="L3e/control 68ni with in" classs disablc=co  1< fun();">ality"L1" class="line" name=5al/time/t5"sref">ktime_t , lude/asm-p68nie_t)asm-powerp9/irq_91time/tick-sched.c#L37" i_tick-imer"kersleep_lengthhed" clas10linu_tick-imer"kersleep_lengthcoticvoidca>ior"64    cched.c#L38" id=incr_cpu5ame_t" cl5ss="sref">tick_sched5 *tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clude/asm-pp8nief id=incr_cpu5"+code=pe5r_cpu" class="sref">per_5cpu
  v2  75.h|inclu7sparc/ir-s6clud5eef">54ss="line" namde=tickn>

  v2  v24.L
<}  19#include <  24#include <void hre9kerne96time_tick-imerrcptarthed" clas10linu_tick-imerrcptart="ticcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-sca>ior"64    cched.c#L38" id=incr_cpu5"hed.c#L25ref=4kerne4/time/tick-sv5oidsc54" class="sr<64    cched.c#L38" id=incr_cpu5"" class=5urn &cpu)hrsclar"canckl,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  5vhed.c#L35s longsched.c#L38" id="L538s_c54/a>, ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nieophed" clas10linuxu" cl-me="LIn7go Molnar
cpu549" ida>ior"64    cched.c#L38" id=incr_cpu5"/linux/p5"+code=last_jiffies_upda5te" c54n cl8e" name=whilel(1csss="sr<64    cched.c#L38" id=incr_cpu5ce
 ue="v52  v24.6"
	  >
  v2  v245.L,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nie-s6c6="kernel6time/tick-s/asm-pp8nick_gess_tickperio="sref">tick_get_tickperio=_t" e/tick-s6clude/asm-pp8nief"v1 v22"
	  5/opti"mco5de=tick_cpu_sched" clas55udeef55tick_cpu_sched" class="sref">t gs.h|="+co5s.h|="+co5d/a>, ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6s="sr<64    cched.c#L38" id=incr_cpu5ehed.c#L25  hed.csched.c#L38" id="5L38"/55sr"L36" adr    returncpu_schealass="line" n  3id="L1NOHZ - aka dya hk Check, ed<"ck-sclar wasnalready/in
  Ree>
	<5>, (int ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie">  37
c55">cpu)
  }_elsesss="sr<64    cched.c#L38" id=incr_cpu5ceturn &a5mp;,s="sr<64    cched.c#L38" id=incr_cpu5c/tick-s65L36sub    return &  3>(int ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie6c0e">  37
#include <l5n id=56hdo_ <lass="line" int , 
 5 Sa><56/a>, #include <  35#include <linux0/err.h5" class="5srincr"+co/= eturn &5void hre9kerne96time_tick-imerrcptart_s"> *_x/hrhed" clas10linu/1ick-imerrcptart_s"> *_x/hr="ticcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-sca>ior"64    cched.c#L38" id=incr_cpu5c/tick-sc5ccccccccched.c#L38" id="5L38s_57ss="lss="sr<64    cched.c#L38" id=incr_cpu5copti"mco5_cpu" class="sr"L36" div5ns   57eturn &,   26#include "<57/a>, 
 5 Keep57a>)
ality"L1" class="line" name=5"namdelta5="line" name="L35">  35<5/a>ality"L1" class="line" name=5rn &<5a h"L36" adr_cpu" class=5"sr"L58r
tick_get_tick_topp5""L37 (int   24#include <#include <void hre9kerne96time_tick-imeraccount_s="k_ef"vphed" clas10linuxtick-imeraccount_s="k_ef"vp="ticcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int ior"64    cched.c#L38" id=incr_cpu5rme="L35"5ss="sref">kef">pinit_t#include <i5or"+coick_cpu_sched,5 )
ality"L1" class="line" name=5c6" divns5, _cpu" class="srThe tim5e, "+59an>
  29 * Per5 name="L355">  35959tatic ality"L1" class="line" name=5 hed.c#L35id="v64_cpu" class="srev564   59ed. Protected by xtime_lock iiiiiiii*iaccount"*3. Enforc3l"c tsicisnisnaccountedeto-s="k-!="  1< fun();">ality"L1" class="line" name=5 hed.c#L25&?iiiiiiiii*e/tick-sc/tick-sceturn &ktime_t ality"L1" class="line" name=5cme="L35"5u9resolutioon timers
<599" id="L29" class="line" namiiiiiiii*sWe might bkee"e off. Do--it rck-omly account a huge numbar odality"L1" class="line" name=5 ceturn &5c#L37" id="L37" class="l510 an59ef="kernel/time/tick-sched.ccccccccc*e/tick-sc/tick-sceturn &(int ior"64    cched.c#L38" id=incr_cpu6
<6 href="02ern"k/time/tick6sched60ss="line" namcpu_schenre9kerne96timeaccount_s="k_ef"vphed" clas10linuaccount_s="k_ef"vp="ticint 
<6  _cpu" class="srThe tim6v2 
<6 ">  35?/*k-s  1< fun();">ality"L1" class="line" name=6<6nclude/6s"sref">ktime_t ality"L1" class="line" name=6<7nclude/6sime, _cpu" class="srThe6e9L3960  39 name="Lre9kerne95tik-s  1< fun();">ality"L1" class="line" name=6<8nclude/6s9resolutioon timersality"L1" class="line" name=6<9nclude/6s#L37" id="L37" class="l609ef=60ef="kernel/time/tick-sched.c*/Tcisnalso =xit/ick-RCUfextendedequ=cpc" ies"L3e. Tck-CPUco  1< fun();">ality"L1" class="line" name=6arted by:6 Thomas Gleixner and Ing6o Mol61r
  13 */
<6hhed.h" class="fref">lin6xched612" id="L12" class="line" nam*e/tick-sc/tick-sceturn &   1<6under GPLv2 
ior"64    cched.c#L38" id=incr_cpu6pan>
linux6/cpu.61a hdeltalass=ched.c#L39" id="L39" class="line" name="L39"kL36c7ne" name7"L3smpkprocessor_3=hed" clas10linusmpkprocessor_3=coticr/a>ior"64    cched.c#L38" id=incr_cpu6e/linux/e6rr.h" class="fref">linux6/err.61sr"L36" adr  code=tick_get_tick_sched" class="sref">tick_get_tick_sched(int tick_cpu_schedti_t" , tick_get_tick>ti_sass=coti/asm-pp8nick_gess="s >
l6inux/61hdo_ <lass-sched.c#L37" i_t)asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-s/tick-s6clude/asm-pp8nief"v1 v22"
	  6e7nclude/6nterrupt.h" class="fref"6>linu61"+cottick-s6clude/asm-pp8nief"v1 v22"
	  6eme_t" cl6ernel_stat.h" class="fre6f">li61">cpu)
ior"64    cched.c#L38" id=incr_cpu6e9e_t" cl6ercpu.h" class="fref">li6nux/p619e=tick_cpu_sched" clas10ef">linux0/err.h6trted by:6rofile.h" class="fref">l6inux/620 cl8e" name=a>(int ,!int ior"64    cched.c#L38" id=incr_cpu6t/span>
<6ched.h" class="fref">lin6ux/sc62="srwrif=_seqme,     r40" id="L40" class=6t1">   1<6nnder GPLv2 
(int 
  24#include <tick_get_tick_topp5""L37ca>ior"64    cched.c#L38" id=incr_cpu6t/linux/e66" id="L26" class="line"6 name62sr"L36" adr    returnlude/asm-p68nie-s6c6="kernel6time/tick-suttonf=4kerne47time/tickuttcoticr/tick-s6clude/asm-pp8nief"v1 v22"
	  6el/time/t6ick-internal.h" class="f6ref">62hdo_   19#include <, ior"64    cched.c#L38" id=incr_cpu6tme_t" cl6ef="kernel/time/tick-sch6ed.c#62">cpu)


linux0/err.h6arted by:6ref="kernel/time/tick-sc6hed.c63" adr    retued(int tick_get_tick_topp5""L37csss="sr<64    cched.c#L38" id=incr_cpu6a/linux/s6 class="sref">DEFINE_PER6_CPU<63ss="line" namcpu_schenre9kerne96time/tick-imerrcptart_s"> *_x/hrhed" clas10linu/1ick-imerrcptart_s"> *_x/hr="ticint 
#include <ior"64    cched.c#L38" id=incr_cpu6al/time/t6"sref">ktime_t tick_sched6 *ched.c#L39" id="L39/1ick-imerrcprogramhed" clas10linu/1ick-imerrcprogram="ticcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-sca>ior"64    cched.c#L38" id=incr_cpu6a/linux/p640" id="L40" class="line6" nam63n cl8ss="sr<64    cched.c#L38" id=incr_cpu6"+code=pe6r_cpu" class="sref">per_6cpu(int ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nie-s6c6="kernel6time/tick-s/asm-pp8nick_gess_tickperio="sref">tick_get_tickperio=_t" e/ti"sr<64    cched.c#L38" id=incr_cpu6"/linux/s6.h|inclu7sparc/ir-s6clud6eef">64ss="line" namde=tickn>
,a>(int ,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie6c0e/ti"sr<64    cched.c#L38" id=incr_cpu6"tribute 6"
	  >
  v2  v24.L
<}  19#include <  24#include <?i* Tck--ime low rcpain" class han="kr="L13">  13 */void hre9kerne96time_tick-imerhan="krhed" clas10linu/1ick-imerhan="kr="ticcode=tick_get_tick_schclock=evass_devickhed" clas10linuclock=evass_devickd(int ior"64    cched.c#L38" id=incr_cpu6vme_t" cl6"+code=cpu"" class=4sref6">cpu649" idss="sr<64    cched.c#L38" id=incr_cpu6"/linux/p6"+code=last_jiffies_upda6te" c64n cl8e" name=code=tick_get_tick_sched" class="sref">tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clud cched.c#L38" id=incr_cpu6ce
 ue="v62  v24.6"
	  >
  v2  v246.L(int a hre9kerne96time"kerirq_rcgphed" clas10linu"kerirq_rcgpcoticr/a>ior"64    cched.c#L38" id=incr_cpu6e/tick-s66clude/asm-p58nief5/time/6tick-65ss="line" namched.c#L39" id="L39" class="line" name="L39"kL36c7ne" name7"L3smpkprocessor_3=hed" clas10linusmpkprocessor_3=coticr/a>ior"64    cched.c#L38" id=incr_cpu6/opti"mco6de=tick_cpu_sched" clas56udeef652 cl8e" name=a>(int )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-suttonf=4kerne47time/tickuttcoticr/tick-s6clude/asm-pp8nief"v1 v22"
	  6s.h|="+co6d/a>,   24#include <  26#include "
  Ree>
	<6> name="Lre9kerne95ti33333333* Check ed<"ck-do_x/lar duty wasndropp5".sWe don't care about="L29">  29 * Per6ehed" cla6c659" id="L29" class="line" namiiiiiiii*sconcurr" cy:/Tcisnhapp5ns only wckn/ick-cpuei9" harge"went="L29">  29 * Per6e/linux/p6, _cpu" class="srThe tim6e, "+65ef="kernel/time/tick-sched.ccccccccc* ineo ailongisleepe Id<"wo-cpusnhapp5neto-me/ign/ickmseld<"o="L29">  29 * Per6ceturn &a6mp;
ality"L1" class="line" name=6c/tick-s66L36sub    return &  13 */
, tick_cpu_schedtiktimeaa hre9kerne96timeTICK_DO_TIMER_NONEck_cpu_schedior"64    cched.c#L38" id=incr_cpu6ass="line6" name="L36sub    return6 &66a hdeltalass="line" n3tick_cpu_schedtiktimead.c#L39" id="L39" class="line" name="L39"/tick-s6clude/asm-pp8nief"v1 v22"
	  6ehed.c#L26&  26#include "l6n id=66hdo_ <lassrotected by xtime_lock/* Check, ed<"ck-code=cpe-aede

 6 Sa><66/a>, tick_cpu_schedtiktimeaa hre9kerne96time="s >
  35cpu)
, linux0/err.h6" class="6srincr"+co/= eturn &6
?iiiiiiiii* ofas="k"-codey stamp so ick-s="k-account"*3sadjuste_lokwe/tick-sc/tick-sceturn &  13 */<67  39 name="Lre9kerne95ti33333333*e/tick-sc/tick-sceturn &
 6 Keep67a>)
(int tick_get_tick_topp5""L37csss="sr<64    cched.c#L38" id=incr_cpu6"namdelta6="line" name="L35">  35<6/a>  LIn7go Molnar#include <t gs.h|="+co6r.h|="+co623" id="L23" class="l8li6nutro683turn &, , ,   26#include "kef">pinit_tcpu)
, #include <i6or"+coick_cpu_sched,6 #include <
ality"L1" class="line" name=6 name="L365">  35969tatic ality"L1" class="line" name=6 hed.c#L36id="v64_cpu" class="srev664   69ed. Protected by xtime_lock *e/tick-sc/tick-sceturn &io6r_cpu69d.c#L="L36">void hre9kerne96time_tick-imerswitch_tok-imehed" clas10linu/1ick-imerswitch_tok-ime,voidca>ior"64    cched.c#L38" id=incr_cpu6diffy upd6="sref">ktime_t tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clud cched.c#L38" id=incr_cpu6cme="L35"6u9resolutioon timers
<69">cpu)
)asm-powerp9/irq_91time/tick-sched.c#L37" i-exs=ed" clas10linu-extL39"/tick-s6clude/asm-pp8nief"v1 v22"
	  6 ceturn &6c#L37" id="L37" class="l610 an699e=tick_cpu_sched" clas10ef">linux0/err.h7e/tick-sc7ed.c#L1" id="L1" class="7ine" 70" adr    retuedtick_get_tick-imerenablc=cotiec/tick-sceturn &
<7  _cpu" class="srThe tim7v2 t gs.h|="+co7<3span>
<7 ">  35ior"64    cched.c#L38" id=incr_cpu7L4ed.c#L27ad="v64_cpu" class="srev7a>>70a hdeltalass=ed, ior"64    cched.c#L38" id=incr_cpu7<6nclude/7s"sref">ktime_t ior"64    cched.c#L38" id=incr_cpu7<9nclude/7s#L37" id="L37" class="l709ef=70n cl8e" name=a>(int lin7xched711>)
ality"L1" class="line" name=7a1">   1<7under GPLv2 
ality"L1" class="line" name=7a3span>
<7ref="kernel/time/tick-sc7hed.c71tatic   13 */linux7/cpu.71ed. Protected by xtime_lock iiiiiiii*e/tick-sc/tick-sceturn &linux7/err.71sr"L36" adr  6c7ne" name7"L3hrsclar"inithed" clas10linuhrsclar"initcoticrne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nieCLOCK_MONOTONIChed" clas10linuCLOCK_MONOTONICcoti6clude/asm-p68nieHRTIMER_MODE_ABShed" clas10linuHRTIMER_MODE_ABScotie/tick-s6clud cched.c#L38" id=incr_cpu7e6nclude/7rtimer.h" class="fref">l7inux/71hdo_ <lassrotected by xtime_lock/* Geokick--ext perio=i*e/tick-sc/tick-sceturn &linu71/a>, ior"64    cched.c#L38" id=incr_cpu7eme_t" cl7ernel_stat.h" class="fre7f">li719" ida>ior"64    cched.c#L38" id=incr_cpu7e9e_t" cl7ercpu.h" class="fref">li7nux/p71n cl8e" name=for (;;csss="sr<64    cched.c#L38" id=incr_cpu7trted by:7rofile.h" class="fref">l7inux/72" adr    return &eime/tick-schedhrsclar"pkerexpircphed" clas10linuhrsclar"skerexpircp,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nie-exs=ed" clas10linu-extL39"r/a>ior"64    cched.c#L38" id=incr_cpu7t/span>
<7ched.h" class="fref">lin7ux/sc72ss="line" namcpu_scheed,lude/asm-p68nie-exs=ed" clas10linu-extL39"6c0e">  37
   1<7nnder GPLv2 

tick_get_91timad=,lude/asm-p68nie-exs=ed" clas10linu-extL39"6cint tick_get_tickperio=_t" e/ti"sr<64    cched.c#L38" id=incr_cpu7t4ed.c#L27asm-alpha/irq_regs.h|inc7lude/72a hdeltalass=}  19#include <ior"64    cched.c#L38" id=incr_cpu7el/time/t7ick-internal.h" class="f7ref">72l/tim}  19#include <ality"L1" class="line" name=7t/linux/p7 control structure
ality"L1" class="line" name=7arted by:7ref="kernel/time/tick-sc7hed.c73r
DEFINE_PER7_CPU<732" id="L12" class="line" nam* alive dur"*3slongirunn"*3ssoftirqs./Tcat'pe=gly as hell, but="L29">  29 * Per7atribute 73" id="L33" class="line"7 name73an>
  29 * Per7aan>
  13 */  13 */?i* Note,sicisnisndodeer_lokio _tick-imerrcptart.sWe just kcck-ick-s  1< fun();">ality"L1" class="line" name=7al/time/t7"sref">ktime_t ality"L1" class="line" name=7a7nclude/78" id="L38" class="line"7 name73  39 name="Lre9kerne95tik wckn/s="k-isnlefte="L13">  13 */tick_sched7 *void hre9kerne96time_tick-imerkcck_ef"vhed" clas10linu_tick-imerkcck_ef"vcoticched.c#L39" id="L39" class="line" name="L39"/asm-pp8nick_gess_t)asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-sca>ior"64    cched.c#L38" id=incr_cpu7"+code=pe7r_cpu" class="sref">per_7cpu74ss="l#ed<0s="sr<64    cched.c#L38" id=incr_cpu7"tribute 7"
	  >
  v2  v24.L  24#include <tick_get_tick_sched(int tick_cpu_schedti_t" , tick_get_tick>ti_sass=coti/asm-pp8nick_gess="s >
)asm-powerp9/irq_91time/tick-sched.c#L37" ideltaasm-powerp9/irqdeltaL39"/tick-s6clude/asm-pp8nief"v1 v22"
	  7"" class=7urn &ality"L1" class="line" name=7vme_t" cl7"+code=cpu"" class=4sref7">cpu749" id="L29" class="line" namiiiiiiii*sDo--it touch/ick-scck-devick, wckn/ick--ext expiry-is eiickr-s  1< fun();">ality"L1" class="line" name=7v/linux/p7"+code=last_jiffies_upda7te" c74ef="kernel/time/tick-sched.ccccccccc* already/reae" n ornless/equal  13 */
  v2  v247.L
,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcotie6c tick_get_tickperio=_t" ck-sc/tick-sceturn &, 
  Ree>
	<7>#include <c759" ida>ior"64    cched.c#L38" id=incr_cpu7e/linux/p7, _cpu" class="srThe tim7e, "+75n cl8="L36">sm-pp8nick_gessinss="sr="kernel6timeinss="r"L36void hre9kerne96time_tickcheckk-imehed" clas10linu/1ickcheckk-imecoticched.c#L39" id="L39" class="line" name="L39"ca>ior"64    cched.c#L38" id=incr_cpu7ceturn &a7mp;tick_get_tick_sched(int tick_cpu_schedti_t" , tick_get_tick>ti_sass=coti/asm-pp8nick_gess="s >
(int )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-s/tick-s6clude/asm-pp8nief"v1 v22"
	  7e.h|="+co7eturn &  24#include <tick_get_tick_topp5""L37ca>ior"64    cched.c#L38" id=incr_cpu7ehed.c#L27&l7n id=76hdo_ <lass-sched.c#L37" i-s6c6="kernel6time/tick-suttonf=4kerne47time/tickuttcoticr/tick-s6clude/asm-pp8nief"v1 v22"
	  7ehed.c#L37e
 ue="v2  v24.6"
	  >
 7 Sa><76/a>, ior"64    cched.c#L38" id=incr_cpu7ehed" cla7>  35cpu)

, tick_get_tick_topp5""L37csss="sr<64    cched.c#L38" id=incr_cpu7" class="7srincr"+co/= eturn &7
#include <#include <#include <#include <<77  39<="L36">sm-pp8nick_gessinss="sr="kernel6timeinss="r"L36void hre9kerne96time_tick-imerswitch_tok-imehed" clas10linu/1ick-imerswitch_tok-ime,voidc {=}  19#include <
 7 Keep778 39<="L36">sm-pp8nick_gessinss="sr="kernel6timeinss="r"L36void hre9kerne96time_tickcheckk-imehed" clas10linu/1ickcheckk-imecoticched.c#L39" id="L39" class="line" name="L39"c {=}  19#include <  35<7/a>linux0/err.h7rn &<7a h"L36" adr_cpu" class=7"sr"L78" adr#end"fadid="L1NOHZ - aka dya hk NO_HZc*e/tick-sc/tick-sceturn &void hre9kerne96time_tickcheckks="khed" clas10linuxtickcheckks="kcoticched.c#L39" id="L39" class="line" name="L39"ca>ior"64    cched.c#L38" id=incr_cpu7jiffy upd7ate happened. Protect8, 7Thoma78hdo_ ss="sr<64    cched.c#L38" id=incr_cpu7je
 ue="v7 hrefkerne88time/tick-sc7hed.c78/a>, 
kef">pinit_tcpu)

,7 
car<-s  1< fun();">ality"L1" class="line" name=7 name="L375">  35979tatic io7r_cpu79d.c#L6" id="NO HZ enablt">?/*/tick-sc/tick-sceturn &ktime_t   13 */ti_base-me="lock hel=e="L13">  13 */
<799" id="L29" class="line" nam*e/tick-sc/tick-sceturn &enum;eime/tick-schedhrsclar"rcptarthed" clas10linuhrsclar"rcptart/tick-sched.c#L37" i_tick_sche_x/larhed" clas10linu_tick_sche_x/larcoticcode=tick_get_tick_schhrsclarhed" clas10linuhrsclard(int 
<8 href="02ern"k/time/tick8sched80ss="line" namcode=tick_get_tick_sched" class="sref">tick_get_tick_sched(int 
<8  _cpu" class="srThe tim8v2 
tick_get_tick_sched *_x/larhed" clas10linus"> *_x/larcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  8<3span>
<8 ">  35(int a hre9kerne96time"kerirq_rcgphed" clas10linu"kerirq_rcgpcoticr/a>ior"64    cched.c#L38" id=incr_cpu8L4ed.c#L28ad="v64_cpu" class="srev8a>>80a hdeltalass=a>(int )asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-suttonf=4kerne47time/tickuttcoticr/tick-s6clude/asm-pp8nief"v1 v22"
	  8L5ed.c#L28aamp;ior"64    cched.c#L38" id=incr_cpu8<6nclude/8s"sref">ktime_t #include <#include <cpu)
?/*/tick-sc/tick-sceturn &  29 * Per8arted by:8 Thomas Gleixner and Ing8o Mol81r
  29 * Per8a/span>
<8hhed.h" class="fref">lin8xched812" id="L12" class="line" namcccccccc* ineo ailongisleepe Id<"wo-cpusnhapp5neto-me/ign/ickmseld<"o="L29">  29 * Per8a1">   1<8under GPLv2 
ality"L1" class="line" name=8a3span>
<8ref="kernel/time/tick-sc8hed.c81tatic   13 */linux8/cpu.81ed. Protected by xtime_lock iiiiiiii*e/tick-sc/tick-sceturn &linux8/err.81sr"L36" adr  ed(int , tick_cpu_schedtiktimeaa hre9kerne96timeTICK_DO_TIMER_NONEck_cpu_schedior"64    cched.c#L38" id=incr_cpu8e6nclude/8rtimer.h" class="fref">l8inux/81hdo_ <lass="line"  tick_cpu_schedtiktimead.c#L39" id="L39" class="line" name="L39"/tick-s6clude/asm-pp8nief"v1 v22"
	  8e7nclude/8nterrupt.h" class="fref"8>linu81/a>, #end"ftick-s6clude/asm-pp8nief"v1 v22"
	  8eme_t" cl8ernel_stat.h" class="fre8f">li819" ida>ior"64    cched.c#L38" id=incr_cpu8e9e_t" cl8ercpu.h" class="fref">li8nux/p81n cl8e" name=rotected by xtime_lock/* Check, ed<"ck-code=cpe-aede
l8inux/82" adr    retued(int tick_cpu_schedtiktimeaa hre9kerne96time" class="line" name="L39"ca>ior"64    cched.c#L38" id=incr_cpu8t/span>
<8ched.h" class="fref">lin8ux/sc82ss="line" namcpu_schea>(int ,    1<8nnder GPLv2 
t gs.h|="+co8tan>
?/*/tick-sc/tick-sceturn &?iiiiiiiii* no valid rcgp poin" c/tick-sc/tick-sceturn &82l/time/tick-sched.c#L7" id=333333333*e/tick-sc/tick-sceturn &, cpu)
?/*/tick-sc/tick-sceturn &

DEFINE_PER8_CPU<832" id="L12" class="line" namcccccccccccccccc* "ime./Tcisnhapp5ns onscompleteas="k-SMP-systempewhile/tick-sc/tick-sceturn &
  13 */?icccccccccccccccc*e/tick-sc/tick-sceturn &ktime_t tick_get_tick_topp5""L37csss="sr<64    cched.c#L38" id=incr_cpu8a7nclude/88" id="L38" class="line"8 name83/a>, tick_sched8 *cpu)
ior"64    cched.c#L38" id=incr_cpu8a/linux/p840" id="L40" class="line8" nam83n cl8e" name=8L39">  "+coir-sssssssssLIn7go Molnarper_8cpu#include <84ss="line" namcpu_schea>(int , , 
  v2  v24.L, #include <tick_get_tickperio=_t" e/ti"sr<64    cched.c#L38" id=incr_cpu8"" class=8urn &tick_getHRTIMER_RESTARTL39"/tick-s6clude/asm-pp8nief"v1 v22"
	  8vme_t" cl8"+code=cpu"" class=4sref8">cpu849" id}  19#include <linux0/err.h8ce
 ue="v82  v24.6"
	  >
  v2  v248.Lched.c#L39" id="L39s"> *_skew_ef"vhed" clas10linus"> *_skew_ef"vL39"/tick-s6clude/asm-pp8nief"v1 v22"
	  8e/tick-s68clude/asm-p58nief5/time/8tick-85="srwrif=_seqme,     r40" id="L40" class=8/opti"mco8de=tick_cpu_sched" clas58udeef852 cl8="L36">ched.c#L39" id="L39_"inithed" clas10linu_"initcotid.c#L39" id="L39skew_ef"vhed" clas10linuskew_ef"vL39"( har>(int ,  *_skew_ef"vhed" clas10linus"> *_skew_ef"vL39"e/ti"sr<64    cched.c#L38" id=incr_cpu8ehed.c#L28  hed.csched.c#L38" id="8L38"/85L26">  26#include ")

  Ree>
	<8>#include <c859" idtime/tick-schedearly_paramhed" clas10linuearly_param_t" , " id="NO HZ str"*3">"pkew_ef"v"/tick-s6clude/asm-p68nieskew_ef"vhed" clas10linuskew_ef"vL39"e/ti"sr<64    cched.c#L38" id=incr_cpu8e/linux/p8, _cpu" class="srThe tim8e, "+859e=tick_cpu_sched" clas10ef">linux0/err.h8ceturn &a8mp;
ality"L1" class="line" name=8c/tick-s68L36sub    return &ality"L1" class="line" name=8copti"mco8  hegt;= eturn &
void hre9kerne96time_tick_e=tpk_sche_x/lar"sref">tick_get_tick_e=tpk_sche_x/lar_t" ,voidca>ior"64    cched.c#L38" id=incr_cpu8ass="line8" name="L36sub    return8 &8 &ss="sr<64    cched.c#L38" id=incr_cpu8ehed.c#L28&tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clud cched.c#L38" id=incr_cpu8eef=5kern8ttimer.h" class="fref">l8n id=86hdo_ <lass-sched.c#L37" i_t)asm-powerp9/irq_91time/tick-sched.c#L37" i-s6c6="kernel6time/tick-suttonf=4kerne47time/tickuttcoticr/tick-s6clude/asm-pp8nief"v1 v22"
	  8ehed.c#L38e
 ue="v2  v24.6"
	  >
 8 Sa><86"+cottick-s6clude/asm-pp8nief"v1 v22"
	  8ehed" cla8>  35cpu)
?/*/tick-sc/tick-sceturn &
 *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nieCLOCK_MONOTONIChed" clas10linuCLOCK_MONOTONICcoti6clude/asm-p68nieHRTIMER_MODE_ABShed" clas10_getHRTIMER_MODE_ABScotie/tick-s6clud cched.c#L38" id=incr_cpu8copti"mco8_cpu" class="sr"L36" div8ns   872 cl8e" name=a>(int  *_x/larhed" clas10linus"> *_x/larcotick-sc/tick-scetufuncs"lihed" clas10linufuncs"lick-s  24#include <cpu)
?/* Geokick--ext perio=i(per-cpu)c*e/tick-sc/tick-sceturn &,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nie_tickinit+codey=href="hed" clas10linu/1ickinit+codey=href="coticre/tick-s6clud cched.c#L38" id=incr_cpu8cef=5kern8e/tick-sc/tick-sceturn &8amp;<87hdo_   19#include <<877>)

 8 Keep87">cpu)
 *_skew_ef"vhed" clas10linus"> *_skew_ef"vL39"esss="sr<64    cched.c#L38" id=incr_cpu8c/linux/p8="line" name="L35">  35<8/a>   tok-phed" clas10linu_ttok-p, tick_get_tickperio=_t" e me="me=" 1/tick-s6clud cched.c#L38" id=incr_cpu8rn &<8a h"L36" adr_cpu" class=8"sr"L88" adr    return &eime/tick-scheddo_div"sref">tick_getdo_div, tiphed" clas10linu-um_possib"kk>tipcoticre/tick-s6clud cched.c#L38" id=incr_cpu8r/tick-sc8ceturn &(int ior"64    cched.c#L38" id=incr_cpu8ropti"mco8time, _cpu" class="srThe8 time88eturn &,rne98time/tick-sched_phed" clas10linuxu" cl-me="LIn7go Molnar *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nieoffseoamp;#include < *_x/larhed" clas10linus"> *_x/larcoti6clude/asm-p68nie-s6c6="kernel6time/tick-s6cint tick_get_tickperio=_t" e/ti"sr<64    cched.c#L38" id=incr_cpu8je
 ue="v8 hrefkerne88time/tick-sc8hed.c88/a>,  *_x/larhed" clas10linus"> *_x/larcoti6ti"sr<64    cched.c#L38" id=incr_cpu8jhed" cla8ss="sref">kef">pinit_tcpu)
   otected by xtime_lock/* Check, ed<"ck-x/lar wasnalready/ickick-pastc*e/tick-sc/tick-sceturn &i8or"+coick_cpu_sched,8  *_x/larhed" clas10linus"> *_x/larcotieca>ior"64    cched.c#L38" id=incr_cpu8ceturn &a8mp;  359893turn &#include <#include <ktime_t tick_get_tick-imerenablc=cotiec/tick-sceturn &
<899" id#end"ftick-s6clude/asm-pp8nief"v1 v22"
	  8 ceturn &8c#L37" id="L37" class="l810 an899s="l}  19#include <
<9 href="02ern"k/time/tick9sched90="srwrif=_seqme,     r40" id="L40" class=9<2span>
<9  _cpu" class="srThe tim9v2 tick_getdefs="= hdel tick_getdefs="= hdel   35void hre9kerne96time_tickcancelk_sche_x/larhed" clas10linu_tickcancelk_sche_x/larcoticched.c#L39" id="L39" class="line" name="L39"ca>ior"64    cched.c#L38" id=incr_cpu9L4ed.c#L29ad="v64_cpu" class="srev9a>>90&ss="sr<64    cched.c#L38" id=incr_cpu9L5ed.c#L29aamp;tick_get_tick_sched(int tick_cpu_schedti_t" , tick_get_tick>ti_sass=coti/asm-pp8nick_gess="s >
ktime_t #include <cpu)
 *_x/larhed" clas10linus"> *_x/larcotick-sc/tick-scetubasehed" clas10linubaseL39"ca>ior"64    cched.c#L38" id=incr_cpu9L9nclude/9s#L37" id="L37" class="l909ef=90n cl8e" name=8L39">    *_x/larhed" clas10linus"> *_x/larcotie/tick-s6clude/asm-pp8nief"v1 v22"
	  9arted by:9 Thomas Gleixner and Ing9o Mol91r
<9hhed.h" class="fref">lin9xched91="srwrif=_seqme,     r40" id="L40" class=9a1">   1<9under GPLv2 
(int 
<9ref="kernel/time/tick-sc9hed.c913turn}  19#include <linux9/cpu.91ed. P#end"ftick-s6clude/asm-pp8nief"v1 v22"
	  9e/linux/e9rr.h" class="fref">linux9/err.91L26">  26#include "l9inux/91l/time/tick-sched.c#L7" id=/*k-s  1< fun();">ality"L1" class="line" name=9e7nclude/9nterrupt.h" class="fref"9>linu91  39 name="Lre9kerne95tik Async--itificas"li about/clocksource" hangcp_t  1< fun();">ality"L1" class="line" name=9e8nclude/9ernel_stat.h" class="fre9f">li919" id="L29" class="line" nam*e/tick-sc/tick-sceturn &li9nux/p91n cl8void hre9kerne96time_tickclock_-itify"sref">tick_get_tick>lock_-itify_t" ,voidca>ior"64    cched.c#L38" id=incr_cpu9trted by:9rofile.h" class="fref">l9inux/920 cl8ss="sr<64    cched.c#L38" id=incr_cpu9t/span>
<9ched.h" class="fref">lin9ux/sc92ss="line" namched.c#L39" id="L39" class="line" name="L39"/tick-s6clud cched.c#L38" id=incr_cpu9t1">   1<9nnder GPLv2 
t gs.h|="+co9tan>
tihed" clas10linufor_eae"_possib"kk>ti_t" , ior"64    cched.c#L38" id=incr_cpu9t4ed.c#L29asm-alpha/irq_regs.h|inc9lude/924 cl8e" name=8L39">   tick_cpu_schedti_t" , tick_get_tick>ti_sass=coti/asm-pp8nick_gess="s >
#include <92hdo_   19#include < name="Lre9kerne95t/*/tick-sc/tick-sceturn &ality"L1" class="line" name=9t9e_t" cl9 control structure
tick_get_tickoneshos_-itify_t" ,voidca>ior"64    cched.c#L38" id=incr_cpu9a/linux/s9 class="sref">DEFINE_PER9_CPU<932" idss="sr<64    cched.c#L38" id=incr_cpu9atribute 93" id="L33" class="line"9 name932 cl8e" name=code=tick_get_tick_sched" class="sref">tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clud cched.c#L38" id=incr_cpu9aan>
  24#include <ktime_t  name="Lre9kerne95t/**/tick-sc/tick-sceturn &tick_sched9 *  13 */  13 */per_9cpu
  13 */942" id="L12" class="line" nam* softirq) rllowk-ime /ignals,/icaokwe c12"switch ineo low-res -imecoL13">  13 */
  v2  v24.L
  13 */tick_get_tick>heckkoneshos_ hangccoticched.c#L39" id="L39rllowk-ime"sref">tick_getrllowk-imeL39"ca>ior"64    cched.c#L38" id=incr_cpu9"" class=9urn &tick_get_tick_sched(int ti_varhed" clas10linu__"ker>ti_var, tick_get_tick>ti_sass=cotie/tick-s6clud cched.c#L38" id=incr_cpu9vme_t" cl9"+code=cpu"" class=4sref9">cpu949" ida>ior"64    cched.c#L38" id=incr_cpu9"/linux/p9"+code=last_jiffies_upda9te" c949a>, ior"64    cched.c#L38" id=incr_cpu9ce
 ue="v92  v24.6"
	  >
  v2  v249.L, (int ior"64    cched.c#L38" id=incr_cpu9ched.c#L29d/a>, #include <tick_get_tickiskoneshos_availablccoticrca>ior"64    cched.c#L38" id=incr_cpu9c" class=9e5/time/tick-sched.c#L379" id=95hdo_ <lass="line" de=ticc0/ti"sr<64    cched.c#L38" id=incr_cpu9ehed.c#L392  v24.6"
	  >
  Ree>
	<9>c95">cpu)
tick_getrllowk-imeL39"ca>ior"64    cched.c#L38" id=incr_cpu9e/linux/p9, _cpu" class="srThe tim9e, "+95n cl8e" name=8L39">  de=ticc1/tick-s6clud cched.c#L38" id=incr_cpu9ceturn &a9mp;,e/tick-s6clud cched.c#L38" id=incr_cpu9copti"mco9  hegt;= eturn &, 
Tck-original LXR software by ick- 19#ihttp://sourceforge.net/projects/lxr">LXR timeunitycoti/aicisnexperie_loal vars"li by  19#imailto:lxr@subux.no">lxr@subux.nocotic
lxr.subux.no kindly hostcd by 19#ihttp://www.redpill-subpro.no">Redpill Lubpro AScoti/aprovidkrsof Lubux/nonsult"*3sand operas"lis services since 1995.