亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2185 | 回復: 3
打印 上一主題 下一主題

[時鐘管理] timekeeping問題求教 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-08-04 15:39 |只看該作者 |倒序瀏覽
最近在折騰一塊老板子,修改其bsp使其支持clock event & clock src, 但是在timekeeping卡住了,
時鐘中斷會在update_wall_time里面, 更新墻上時間,其中

/**
752  * update_wall_time - Uses the current clocksource to increment the wall time
753  *
754  * Called from the timer interrupt, must hold a write on xtime_lock.
755  */
756 void update_wall_time(void)
757 {
758         struct clocksource *clock;
759         cycle_t offset;
760         u64 nsecs;
761
762         /* Make sure we're fully resumed: */
763         if (unlikely(timekeeping_suspended))
764                 return;
765
766         clock = timekeeper.clock;
767 #ifdef CONFIG_GENERIC_TIME
768         offset = (clock->read(clock) - clock->cycle_last) & clock->mask;
769 #else
770         offset = timekeeper.cycle_interval;
771 #endif
772         timekeeper.xtime_nsec = (s64)xtime.tv_nsec << timekeeper.shift;
773
774         /* normally this loop will run just once, however in the
775          * case of lost or late ticks, it will accumulate correctly.
776          */
777         while (offset >= timekeeper.cycle_interval) {
778                 u64 nsecps = (u64)NSEC_PER_SEC << timekeeper.shift;
779

其中標紅的一句我無法理解, 按照道理應該是統(tǒng)計兩次中斷間已走過的ticks來決定更新多少xtime, 但是拿去和cycle_last這個累積值減的卻是當前時鐘計數(shù)器的值,這個結(jié)果有什么意義,完全無法理解。。。。

論壇徽章:
0
2 [報告]
發(fā)表于 2012-08-04 16:20 |只看該作者
http://blog.chinaunix.net/space. ... blog&id=2837253
搜到相關文章一篇,不過對于其中 clock_count = N * latch + hwclock_value
查看了其他一些板子 比如at91, 也就是直接返回當前寄存器值, 并沒有統(tǒng)計總的ticks, 費解。。。。

論壇徽章:
0
3 [報告]
發(fā)表于 2012-08-04 17:16 |只看該作者
再折騰了下 參考了其他板子的spec, 感覺可能還真是累積值。
我的板子的timer counter會回滾, 所以bsp不支持clock event & clock src mode, 如果要強制這么用, 硬件不支持, 需要軟件做動作, 而且還有局限。。。。

論壇徽章:
0
4 [報告]
發(fā)表于 2012-08-10 15:37 |只看該作者
紅色表示一般用clocksource來更新的xtime,這個相對比較精準,一般硬件都有clock source,你說的timer counter會回滾很正常,就是簡單的計時器一直增加溢出后重新計數(shù)。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP