On (07/04/17 14:26), Sergey Senozhatsky wrote: [..] > not sure if we can properly throttle printk in all of the cases. > we know that console_sem is locked, but we don't know what for. > is CPU that owns the console_sem is now in console_unlock() or > somewhere in fbcon, or anywhere else. we probably need not to > throttle printk() if we know that console_sem is already locked > by this_cpu and we simply call printk either from IRQ that > preempted console_unlock() on this_cpu or recursive printk from > console_unlock()... and so on.
which is hard to do, given that console_unlock() can schedule with console_sem locked. so CPU number won't do the trick. unless we will forbid preemption in console_unlock()... we sort of need to do it. -ss