Dear Robert P. J. Day, 

Someone makes a test program like this:


jiffier.c 

int main() 
{ 
unsigned long jiffiers = 777; 
jiffiers++; 
return 0; 
} 
#gcc -S jiffer1.c  (compile it to assembly language)

.file "jiffier1.c" 
.version "01.01" 
gcc2_compiled.: 
.text 
.align 4 
.globl main 
.type main,@function 
main: 
pushl %ebp 
movl %esp, %ebp 
subl , %esp 
movl 7, -4(%ebp) 
leal -4(%ebp), %eax 
incl (%eax) 
movl , %eax 
leave 
ret 
.Lfe1: 
.size main,.Lfe1-main 
.ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.3 2.96-110)"


We can see that the value of jiffiers increment directly in the memory.


Sincerely yours, 
chiachen 
[email protected] 
2009-12-30 

======= 2009-12-29 22:15, your message: access to jiffies_64 atomic or 
not?======= 


from kernel/timer.c: 

/* 
* The 64-bit jiffies value is not atomic - you MUST NOT read it 
* without sampling the sequence number in xtime_lock. 
* jiffies is defined in the linker script... 
*/ 

void do_timer(unsigned long ticks) 
{ 
jiffies_64 += ticks; 
update_wall_time(); 
calc_global_load(); 
} 

i'm not sure how to interpret that comment since it clearly suggests 
that you can't simply access jiffies_64, but that's exactly what 
do_timer() is doing in that first line by incrementing it by a certain 
value. can anyone clarify whether the above makes any sense? 

rday 
-- 

======================================================================== 
Robert P. J. Day Waterloo, Ontario, CANADA 

Linux Consulting, Training and Kernel Pedantry. 

Web page: http://crashcourse.ca 
Twitter: http://twitter.com/rpjday 
======================================================================== 

-- 
To unsubscribe from this list: send an email with 
"unsubscribe kernelnewbies" to [email protected] 
Please read the FAQ at http://kernelnewbies.org/FAQ 

. 


= = = = = = = = = = = = = = = = = = = = 

Reply via email to