About the changes in co_timer_ack() function of time.c.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I DO know you guys must be very busy always, so I am sorry to disturb you.
I please ask you to let me know the reason why the changes made in co_timer_ack()
function on Mips kernel v2.6.23.1.
Because I got a problem on kernel v2.6.10 that the timer interrupt had ignored rarely
and it causes no updates for "jiffies" for a while (approx. 4min on my board).
And I found the change - a part of your excellent works - on v2.6.23.1
for co_timer_ack() function in time.c.

v2.6.10 kernel:
                /* Check to see if we have missed any timer interrupts.  */
                count = read_c0_count();
                if ((count - expirelo) < 0x7fffffff) {
                        /* missed_timer_count++; */
                        expirelo = count + cycles_per_jiffy;
                        write_c0_compare(expirelo);
                }

v2.6.23.1 kernel:
                /* Check to see if we have missed any timer interrupts.  */
                while (((count = read_c0_count()) - expirelo) < 0x7fffffff) {
                        /* missed_timer_count++; */
                        expirelo = count + cycles_per_jiffy;
                        write_c0_compare(expirelo);
                }

So, I plase ask you a couple of my questions -
1) What kind of phenomena did this change cause ?
2) What is the defect that this part of codes in v2.6.10 kernel has ?
Please let me know.

Thanks,

Best regards,
tnishioka


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux