/*     ,     

  ... */
if (time_after(jiffies, timeout)) {

/*        ... */
} else {

/*         ... */
}

 ,      , -
  ,      .
  ,     ,  ,  
 .

    HZ

   HZ      -
.   ,   ,   -
,      ,  
    .     
,     ,   HZ  -
  . ,    
HZ  ,     ,
   .   ,     , 
   !     
     20 ,     
   .

  ,       
jiffies,     .  -
    USER_HZ,    HZ,
    .     
86   HZ   100,    USER_
HZ=100.  jiffies_to_clock_t ()    
   ,    HZ,  
 ,    USER_HZ.   -
  ,     HZ  USER_HZ  .  -
,        .

#define jiffies_to_clock_t(x) (() / (HZ / USER_HZ) )

  ,     .

 jiffies_64_to_clock_t ()    64--
   jiffies   HZ   USER_HZ.

   ,   ,   
     ,    -
 ,    .

unsigned long start = jiffies;

unsigned long total_time;

/*    ... */
total_time = jiffies - start;

printk("3TO  %lu  \", jiffies_to_clock_t(total time));

                                                   217