与ftrace类似,我有一个函数可以打印在armv7板上启动内核时调用的所有函数的地址。在setup_arch
函数中start_kernel
函数调用之前正确打印地址,但在此之后将打印随机地址。我认为它是自旋锁的问题,因为映射时这些地址引用了_raw_spin_lock_irqsave
和add_preempt_count
等函数。它可能不是螺旋锁问题。
有关如何解决的任何建议?
答案 0 :(得分:0)
根据您的评论,问题是如何禁用spin_locks以澄清日志文件。
虽然禁用多核系统上的锁会产生影响,但可能会导致系统错误到崩溃程度 - 但可以这样做。
include/linux/spinlock.h显示可以通过编译内核CONFIG_SMP
和CONFIG_DEBUG_SPINLOCK
未定义来禁用spin_lock。