Well its a very simple problem I am not clear with some C syntax I am reading C and other books and I hope I shall be able to figure it out any ways but if some one feels I should be clear of some thing let me know I am not clear with the working of calibrate.c
I will quote the important lines of code that I think are confusing me and explain the aspects of them that I think I don't understand.
Code:
loops_per_jiffy = (1 << 12); /* Initial approximation = 4096 */
The choice of number 4096
power of 2 that is 12 why is that choosen.
Secondly
http://lxr.linux.no/#linux+v2.6.33/init/calibrate.c#L54
In comments it is mentioning
So, we do
* 1. pre_start <- When we are sure that jiffy switch hasn't happened
* 2. check jiffy switch
* 3. start <- timer value before or after jiffy switch
* 4. post_start <- When we are sure that jiffy switch has happened
What is all that pre_start and why is it needed to be used over here?
Here is some thing which I am wondering not because of logic in same program
while (ticks == jiffies);/* Wait till the start of next jiffy */
Till the start of next jiffy what is the processor busy with or how is the delay introduced here?Not the mathematical calculation for udelay or ndelay.
May be I am not clear with what I should search for.