linux内核printk函数中zap_lock的作用

zap_lock函数位于 linux内核-->printk()-->vprintk()-->zap_lock()

在zap_lock函数的源码注释中写明:在printk发生递归-->可能死锁-->要保证不死锁-->每10秒最多1次初始化spinlock

我不明白的是如何保证“每10秒最多1次初始化spinlock”,在zap_lock函数的源码中有个定时判断,但那是30秒,而且也不会周期性的执行初始化动作。

请高手不吝赐教