与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