與ftrace類似,我有一個函數,它打印armv7板上引導內核時調用的所有函數的地址。在功能調用setup_arch
功能之前地址被正確打印,但在此之後,隨機地址被打印。我認爲它是自旋鎖的問題,因爲映射時這些地址涉及的功能如_raw_spin_lock_irqsave
和add_preempt_count
。它可能不是螺旋鎖問題。 關於如何解決它的任何建議?隨機地址在armv7引導內核時無限期地打印
0
A
回答
0
根據您的評論,問題是如何禁用spin_locks以闡明日誌文件。
雖然在多核系統上禁用鎖定會產生影響,但可能會導致系統出錯達到崩潰的程度 - 可以這樣做。
include/linux/spinlock.h表明可以通過編譯內核來禁用spin_locks,其中CONFIG_SMP
和CONFIG_DEBUG_SPINLOCK
未定義。
+0
我認爲這可能是由於一些試圖獲得自旋鎖的中斷。有什麼方法可以檢查在運行我的功能時是否啓用了中斷。 – arceus
相關問題
- 1. 隨機內存地址
- 2. NSNotificationCenter,打印內存地址
- 3. 打印內存地址
- 4. 打印內存地址
- 5. 打印地址
- 6. 臨時打印地址?
- 7. PHP在循環內隨機地打印文本
- 8. 獲取打印機的IP地址
- 9. Linux內核編程:「無法在虛擬地址[地址]處理內核NULL指針取消引用」
- 10. 打印地址而不是預期值
- 11. 禁用內存地址的隨機化
- 12. WMI有時在本地機器上無限期地使用
- 13. Python pickle打印內存地址?
- 14. 無法打印緩衝區地址
- 15. WTS_CLIENT_ADDRESS地址將無法正確打印
- 16. 隨機OSC地址pyOSC
- 17. 生成隨機IPv6地址
- 18. 使用IP地址打印到網絡打印機
- 19. PHP - 打印內容到本地打印機在網絡
- 20. 內核中的地址
- 21. 打印指針地址
- 22. 如何打印MAC地址
- 23. IP地址打印(快速)
- 24. boost :: stacktrace打印地址
- 25. iOS Iphone應用程序無限期地隨機掛起
- 26. 與同時打印隨機
- 27. 如何阻止我的GUI無限期地打印文本? - Java
- 28. 內核無限期掛起
- 29. 在地址相對於基地址的gdb打印符號
- 30. 從服務器\打印機名稱獲取打印機IP地址
spin_lock函數在'start_kernel'後廣泛調用似乎是合理的。你爲什麼說這些是隨機地址? – levengli
@levengli我有我自己的函數,就像我在'start_kernel'中添加的用於測試目的的問題所說的那樣。它在'setup_arch'之前正確地打印內核函數的地址,但是在打印出指向鎖的隨機地址之後。有什麼辦法可以禁用自旋鎖嗎? – arceus