Hello,

On (07/14/16 16:52), Viresh Kumar wrote:
> On 12-07-16, 23:03, Sergey Senozhatsky wrote:
> > so, I'm looking at this thing now:
> > 
> > : [   12.874909] sched: RT throttling activated for rt_rq ffffffc0ac13fcd0 
> > (cpu 0)
> > : [   12.874909] potential CPU hogs:
> > : [   12.874909]  printk (292)
> > 
[..]
> - But before that it dumps the kernel-messages from last boot and the prints
>   looked like this:

kmsg_dump()? a wild guess... any chance that you kmsg dumper iterates
log_buf records under logbuf_lock long enough to cause throttling on
other CPU, because printk_kthread is simply has to spin on logbuf_lock?

something like

CPU0                                            CPU1

console_unlock()                                kmsg_dump()
{                                               {
                                                        kmsg_dump_get_buffer()
                                                        {
                                                                
spin_lock(&logbuf_lock)

        spin_lock(&logbuf_lock)                                 while (....) {
                                                                ^^^^^^^^^^^^^^ 
long enough
                                                                        ...
                                                                }
                                                                
spin_unlock(&logbuf_lock)
                                                        }
        ....                                    }
        spin_unlock(&logbuf_lock)

        call_console_drivers()

        cond_resched()
                RT throttling
                        printk_deferred("RT throttling")
}

        -ss


>   [   12.805180] [    7.919623] **Some Kernel Messages here**
> 
> Double time-stamp here, because one was already present in the last KMSG (logs
> from previous boot).
> 
> After around 100 lines got printed, we had this throttling messages (without 
> the
> double timestamp), and we continue to print things after it as well.
> 
> -- 
> viresh
> 

Reply via email to